[php] Regular expression troubles

Pagina: 1
Acties:

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Ik wil aan mijn forum de IRC style action toevoegen.
Zoals hier dus met / me (zonder spatie)

Ik heb nu dit:
PHP:
1
2
3
<?
$message=preg_replace("/(\/me )(.+?)(\n)/", "[me=5521]]$2[/me]\n", $message);
?>

Maar dat werkt niet goed. Hij maakt er nu alleen maar [ me=naam ]blabla[/me] (zonder spaties) van als je na de regel met de action een enter geeft EN nog iets tikt. Een enkele regel met alleen een action werkt dus niet.

Dit werkt dus niet:
code:
1
/me doet iets

Maar dit wel:
code:
1
2
/me doet iets
blabla

* Rene59 wil dat dit dus het resultaat moet worden in beide gevallen.

Wat doe ik fout?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
De '$' geeft het einde van een string aan. Je zou dus dit kunnen gebruiken ernaast:
code:
1
$message=preg_replace("/(\/me )(.+?)$/", "[me=3398]]$2[/me]\n", $message);

Maar niet zo'n fraaie oplossing vind ik. Misschien dat het volgende werkt, maar dit weet ik niet zeker, zou je even moeten testen.
code:
1
$message=preg_replace("/(\/me )(.+?)(\n|$)/", "[me=3398]]$2[/me]\n", $message);

  • Rene59
  • Registratie: April 2000
  • Laatst online: 01-09 23:33
Je bent geweldig, de onderste werkt perfect :D
En nu ik er zo over nadenk, inderaad logisch dat het zo moet ja :)
Bedankt!

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op maandag 28 januari 2002 01:30 schreef Rene59 het volgende:
Je bent geweldig, de onderste werkt perfect :D
En nu ik er zo over nadenk, inderaad logisch dat het zo moet ja :)
Bedankt!
np :)