[php] ubb tags [list] [/list] vervangen wil niet werken

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Normaal gesproken zou ik dit zelf op moeten kunnen lossen, maar ik ben al een uur aan het rotzooien en daarom probeer ik het even via deze weg:

Ik heb een ubb parser die de volgende tags vervangt door de bijbehorende html tags:
[ b] [ /b ]
[ i ] [ /i ]
[ u ] [ /u ]
[ list ] [ /list ] (begin en einde van een bullet list)
[ li ] (list item tags)

Nu werkt alles behalve het replacen van de [ list] [/list] tags.
Dit is mijn code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Replace special tags
$search = array ("'\\[b\](.*?)\\[\/b\]'i",    // Replace bold tags
                 "'\\[i\](.*?)\\[\/i\]'i",    // Replace italic tags
                 "'\\[u\](.*?)\\[\/u\]'i",    // Replace underline tags
                 "'\\[li\]'i",               // Replace list item tags
                 "'\\[list\](.*?)\\[\/list\]'i");  // Replace list tags

$replace = array ("<b>\\1</b>",
                  "<i>\\1</i>",
                  "<u>\\1</u>",
                  "<li>",
                  "<ul>\\1</ul>");

$input = preg_replace ($search, $replace, $input);


Iemand een idee, want ik snap het niet meer.

edit:
Dit is de brontekst waarmee ik getest heb

code:
1
2
3
4
5
6
7
8
Dank u voor het bezoeken van de Online WebEx presentaties. 
Voor het bekijken van de demo's dient u eerst de volgende stappen te ondernemen: 
[list] 
[li]Stel uw beeldschermresolutie in op minimaal 800 x 600 
[li]Een minimale verbinding met het internet van 128KB wordt aanbevolen 
[li]Zorg ervoor dat op uw computer geluidsweergave mogelijk is 
[/list] 
Indien u voor de eerste keer deze demo's bekijkt, wordt eerst een automatische installatieprocedure gestart die de WebEx Player op uw systeem installeert (de installatieduur is afhankelijk van de snelheid van uw verbinding met het Internet). Zodra de installatie voltooid is, kunt u rustig achterover zitten en genieten van de demo's.

[ Voor 0% gewijzigd door pjonk op 28-10-2002 10:29 . Reden: ubb tags spatieren ]

It’s nice to be important but it’s more important to be nice


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
ja, en wat doet het wel en wat doet het niet? :)

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
De [ list] [ /list ] worden niet gereplaced door <ul> en </ul> (blijven gewoon zo staan), maar de rest van de tags worden wel gereplaced door de HTML tags.
Beetje vaag want het replacen van de [ list ] en [ /list ] tag gebeurd op dezelfde manier als het replacen van de [ b ] en [ /b] tags

It’s nice to be important but it’s more important to be nice


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 29-08 22:51

D2k

volgorde probleem :?
draai [ li] en [list ] eens om :?

Doet iets met Cloud (MS/IBM)


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Had ik al geprobeerd, maar dit is niet het probleem.
Sterker nog alleen de list tags replacen werkt niet eens.
PHP:
1
2
3
$search = array ("'\\[list\](.+?)\\[\/list\]'i");
$replace = array ("<ul>\\1</ul>");
$input = preg_replace ($search, $replace, $input);

It’s nice to be important but it’s more important to be nice


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

hmm, valt een \n wel onder de . trouwens?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Hmm zat ook te denken dat het daaraan zou kunnen liggen, want na de [list] tag volgt meteen een enter. Zal dus iets met dit stukje te maken hebben denk ik (.*?)

It’s nice to be important but it’s more important to be nice


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

(.|\n)*? gebruiken of de s modifier (dot-all)

zie ook http://www.php.net/pcre.pattern.modifiers

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Thanks denk dat ik me toch maar wat verder in die pattern modifiers moet gaan verdiepen.

It’s nice to be important but it’s more important to be nice

Pagina: 1