[php] eregi_replace doet vreemde dingen

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb een probleem met mijn eigen PHP forum.
Als je een message quote uit een thread waar een plaatje in staat moet hij het plaatje niet opnieuw gaan plaatsen, maar een link er naar toe plaatsen. (net zoals hier)

Dus als ik een message quote met volgende tekst:
code:
1
[img]http://home.quicknet.nl/qn/prive/jonkie.xl/bert.jpg[/img]

Zou dit moeten worden:
code:
1
[url=http://home.quicknet.nl/qn/prive/jonkie.xl/bert.jpg]Plaatje[/url]

Dus ik denk lekker simpel gewoon even het volgende doen:
PHP:
1
<?$message = eregi_replace("[img]", "[url=", $message);$message = eregi_replace("[/img]", "]Plaatje[/url]", $message);?>

Nu maakt php er echter dit van |:(
code:
1
[[url=[url=[url=]http://ho[url=e.qu[url=cknet.nl/qn/pr[url=ve/jonk[url=e.xl/bert.jp[url=[/[url=[url=[url=]

Bagger dus. Als ik echter str_replace gebruik gaat het wel goed, maar die is in case-sensitive.

Ik heb reeds op PHP.net gekeken bij de eregi_replace functie, maar er staat daar wel erg weinig info.

Eigenlijk wil ik de eregi_replace functie dus gewoon zo laten werken als de str_replace functie, maar dan case-insensitive. Dus niks met pattern modifiers enzo.

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


  • Grum
  • Registratie: Juni 2001
  • Niet online
Het klopt hoor wat eregi_replace doet.

Het lijkt me slim dat je eventjes een regular expression tutorial doorneemt :)

(hint [ en ] zijn 'special' chars)

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op dinsdag 23 april 2002 17:05 schreef Grum het volgende:
Het klopt hoor wat eregi_replace doet.

Het lijkt me slim dat je eventjes een regular expression tutorial doorneemt :)

(hint [ en ] zijn 'special' chars)
Welke tutorial raad je me aan?

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


Verwijderd

PHP:
1
<?$message = eregi_replace("\\[img\]", "\\[url=", $message);$message = eregi_replace("\\[/img\]", "]Plaatje\\[/url\]", $message);?>

of het werkt?
geen id... alleen die \ (escape char's) zouden iets moeten helpen