[php] preg replace probleempje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Edit: Sorry voor de lay-out vern**king.
Edit 2: iets gecorrigeerd..

PHP:
1
2
3
4
5
6
7
8
9
10
11
    $pattern[0] = "/\[img=(.+)\]/i";
    $pattern[1] = "/\\[url=(http:\/\/[a-z+\.]+)\]/i";
    $pattern[2] = "/\\[\/url\]/i";


    $replacement[0] = "<div align=\"right\" style=\"position: relative;\">
[img]\"cms/afbeeldingen/\\1\"[/img]</div>";
    $replacement[1] = "<a onFocus=\"this.blur();\"href=\"\\1\" class=\"roselink\" target=\"new\">";
    $replacement[2] = "</a>";

    $tekst = preg_replace($pattern, $replacement, $tekst);


Dat is de code waar ik mijn eigen gemaakte tags mee omzet naar HTML.
Dit werkt bijvoorbeeld prima:

PHP:
1
$om_te_zetten_tekst = "[url=http://www.google.nl]google[/url] en een afbeelding [img=test.jpg]";


Alleen nu het probleem, als ik een afbeelding gekoppeld aan een URL wil maken dan gaat het mis.

Dus iets als dit werkt niet:

PHP:
1
$om_te_zetten_tekst = "[url=http://www.google.nl][img=test.jpg][/url]";


Kan iemand zien waar dat mis gaat?? Ik snap niet waar het aan ligt!

[ Voor 59% gewijzigd door Verwijderd op 16-10-2003 11:06 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 16:12

crisp

Devver

Pixelated

je expressies zijn greedy

note dat als het wel zou werken je een div in een a element zou krijgen wat geen geldig HTML is...

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
crisp schreef op 16 oktober 2003 @ 11:16:
je expressies zijn greedy
/me vraagt zich nu heel voorzichtig af wat greedy is ...

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
$pattern[0] = "/\\[img=(.+?)\]/i";

Je greedyness stond niet goed. Als je het vraagteken toevoegt, dan matcht ie een zo klein mogelijke match.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik dank u allen zéér vriendelijk...

/me had nog nooit van zijn leven van Greedyness gehoord maar weet wel dat hij het een zeer handig iets vindt..

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Ik heb nog steeds geen oplossing gevonden voor mijn nested quotes probleem. Soms is ie te greedy, en soms weer niet, errug vervelend. Mja, kga maar eens zoeken om dat op een andere manier op te lossen...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 16:12

crisp

Devver

Pixelated

Grijze Vos schreef op 16 October 2003 @ 11:32:
Ik heb nog steeds geen oplossing gevonden voor mijn nested quotes probleem. Soms is ie te greedy, en soms weer niet, errug vervelend. Mja, kga maar eens zoeken om dat op een andere manier op te lossen...
heb je hier wat aan? [rml]crisp in "[ PHP: preg_replace] nesting probleem oid"[/rml]

ivy: let ook even op mijn opmerking over div's nesten in een a-element

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Dat zou wel eens een oplossing kunnen zijn crisp. Alhoewel ik nog moet testen. Kben geen kei in het "oplezen" van regexp :)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
crisp schreef op 16 October 2003 @ 11:35:
ivy: let ook even op mijn opmerking over div's nesten in een a-element
Dank! Heb het gezien, was inderdaad niet correct en inmiddels gecorrigeerd..
Pagina: 1