Archief - PHP :preg_replace

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

0n3Liner

Legacy Member
Zo dus heb met wat rondkijken op php.net tot dit gekomen maar ik krijg dus de volgende error

Parse error: parse error, unexpected '<' in : regexp code on line 1

Fatal error: Failed evaluating code: http://rdlt.com on line 3

PHP:
$txt = "[url]http://rdlt.com[/url]";
$txt = preg_replace( "#\[url\](\S+?)\[/url\]#ie", "<a href=\"\\1\">\\1</a>", $txt );
echo $txt;

nu vraag ik me af, bij de error echoet het dus wel wat het script normaal zou moeten doen, dus maw:

Code:
<a href="http://rdlt.com">[url]http://rdlt.com[/url]</a>

hier noggeens de code want hierboven die laat sommige \'s weg

Code:
$txt = "[url]http://rdlt.com[/url]";
$txt = preg_replace( "#\[url\](\S+?)\[/url\]#ie", "<a href=\"\\1\">\\1</a>", $txt );
echo $txt;

0n3Liner

Legacy Member
doe ik toch?

iets bijgewerkt zodat het hier mss zonder fouten kom te staan

Code:
<?
$txt = "Wat zegt u daar deze url, [uri]http://rdlt.com[/uri] is niet geldig?";
$txt = preg_replace("#\[uri\](\S+?)\[/uri\]#ie","<a href=\"$1\">$1</a>", $txt );
echo $txt;
?>


code 2:
<?
$txt = "Wat zegt u daar deze url,[uri=http://rdlt.com]test[/uri] is niet geldig? ";
$txt = preg_replace("#\[uri=(\S+?)\](\S+?)\[/uri\]#ie","<a href=\"$1\">$2</a>", $txt );
?>

Attila

Legacy Member
Ik heb ook zoiet in den aard maar het werkt bij mij wel.

preg_replace = ('#\[url\](.*?)\[/url\]#si','<a href="http://\1" target="_blank">\1</a>',$body);

Ik heb ze ook voor de andere 3 vormen, alles werkt hier bij mij. Kan je zo miss zien waar je fout zit :)

nu ik slapen :)

p.s.: kan iemand mij zegge waarom er achter # si moet staan?? of ie ?? waarvoor staan deze symbole? Ik had een stukje code van iemand gebruikt om te zien hoe preg_replace juist kon gebruikt worden voor url aanduidingen. Daar zag ik si staan, nu heb ik ni echt een idee waarvoor deze wordt gebruikt

xml

Legacy Member
als ik met niet vergis zijn dat 'flags' bvb voor het bepalen of de expressie hoofdlettergevoelig is. (dat is die i denk ik, s ken ik niet)

Attila

Legacy Member
dacht al zoiet, maar weet niet juist die 'flag' waarde exact

Attila

Legacy Member
on3liner neje er zijn 4 mogelijkheden om url in te type en al die 4 staan erin en doen zoals het moet, met http:// en zonder :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan