Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Regexp (https://forum.scholieren.com/showthread.php?t=1412257)

Triloxigen 18-05-2006 10:35

[PHP] Regexp
 
Ik krijg iets met regexp niet echt voor elkaar terwijlk het toch simpel is :|

$getlink['tions'] = "map/bestand.html";

$content = "<a href=\"{GETLINK:tions}\">Opties</a>";

$content = eregi_replace("{GETLINK:*}", $getlink[\\1], $content);



Ik denk dat wel didelijk is wat het moet doen, maar krijg het niet netjes :(

dafelix 18-05-2006 11:05

waarom zo moeilijk regexp gebruiken? als die '\1' vervangen moet worden met de gevonden expressie, werkt 't niet (zou je een regexp moeten hebben voor 't zoeken, een ander voor het vervangen). Reguliere expressies zijn niet echt heel snel, de replace-functie is (afaik) sneller:

PHP-code:

$find = array("tions","nogiets");
$replace = array("map/bestand.html","map/anderbestand.html");
$replacedstring str_replace($find,$replace,$content); 


Dr HenDre 18-05-2006 11:10

replace is idd heel stuk sneller :)
Ik had eens een aantal benchmarkruns, even kijken of ik dat nog ergens kan vinden

Triloxigen 18-05-2006 11:29

Uiteraard is static sneller, maar het is redelijk dynamisch dus dat gaat niet zo goed werken :)

dafelix 18-05-2006 20:16

Code:

$body = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $body);
ff stukje uit m'n eigen script, een stukje voor UBB codes, dit werkt iig wel bij mij. mss dat je deze kan overnemen + tot je eigen wensen adapten :)

eddie 18-05-2006 20:48

Citaat:

********** schreef op 18-05-2006 @ 10:35 :
Ik krijg iets met regexp niet echt voor elkaar terwijlk het toch simpel is :|

$getlink['tions'] = "map/bestand.html";

$content = "<a href=\"{GETLINK:tions}\">Opties</a>";

$content = eregi_replace("{GETLINK:*}", $getlink[\\1], $content);



Ik denk dat wel didelijk is wat het moet doen, maar krijg het niet netjes :(

Code:

$content = eregi_replace("{GETLINK:(.*?)}", $getlink[\\1], $content);

Triloxigen 25-05-2006 19:57

Hey, die werkt :cool:

Bedankt :)

Triloxigen 27-05-2006 13:16

Onee, toch niet :(

Manuzhai 29-05-2006 10:48

Ten eerste: altijd de preg*s gebruiken, nooit de ereg*s. Stuk sneller.
Ten tweede: hiervoor ga je preg_replace_callback() nodig hebben.


Alle tijden zijn GMT +1. Het is nu 08:50.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.