![]() |
[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 :( |
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:
|
replace is idd heel stuk sneller :)
Ik had eens een aantal benchmarkruns, even kijken of ik dat nog ergens kan vinden |
Uiteraard is static sneller, maar het is redelijk dynamisch dus dat gaat niet zo goed werken :)
|
Code:
$body = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $body); |
Citaat:
Code:
$content = eregi_replace("{GETLINK:(.*?)}", $getlink[\\1], $content); |
Hey, die werkt :cool:
Bedankt :) |
Onee, toch niet :(
|
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 02:59. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.