ikarosMedlem sedan juni 2000114 inlägg hallå!
jag håller på att få klart mitt forum, och har kommit till det här med forumkod. dvs detta:
http://cgi.webforum.nu/ssi/wfkod.shtml
Är inte en mästere på reguljära uttryck så jag tänkte att kanske någon här kan hjälpa mig på traven? Hur gör jag för att ersätta t ex
[ url ]http://www.adress.com[ / url ]
till
<a target="_blank" href="http://www.adress.com">http://www.adress.com</a>
?
[Redigerat av ikaros den 25 sep 2000]
nicclasMedlem sedan feb. 20001 050 inlägg Prova:
<?
$str="En http://www.nic-sys.se/ cool hemsida.\n";
$str = preg_replace( "/\[url\](.+?)\[\/url\]/is", "<a target=\"_blank\" href=\"\\1\">\\1</a>", $str );
echo $str;
?>
/nicclas - http://www.nyhetsrubriker.com/
ikarosMedlem sedan juni 2000114 inlägg tackar!
det funkar utmärkt! Om jag bara visste varför... Har ju läst reguljära uttryck på högskolan, men syntaxen är inte så väl dokumenterad på php.net...
Vad betyder /is i slutet, och hur funkar den där ettan (\\1) egenligen? är det någon typ av temporär variabel?
------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm
ikarosMedlem sedan juni 2000114 inlägg varför funkar inte detta?
$message = ereg_replace("/\[blue\](.+?)\[\/blue\]/is", "<font color=\"0000FF\">\\1<\/font>", $message);
får felmeddelandet:
Warning: repetition-operator operand invalid in /home/m/www/forum/message_view.phtml on line 102
------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm
nicclasMedlem sedan feb. 20001 050 inlägg Hejsan,
Mitt exempel använde preg_replace istället för ereg_resplace, då det är lättare att få preg_replace att lösa det du vill göra.
Prova:
$message = preg_replace("/\[blue\](.+?)\[\/blue\]/is", "<font color=\"0000FF\">\\1</font>", $message);
Jo, \\1 är en variabel som innehåller första matchningen.
"s" för att det skall fungera för tex en URL skriven över flera rader. "i" för "caseless".
nicclas, M.Sc Regular expressions :) - http://www.nyhetsrubriker.com
ikarosMedlem sedan juni 2000114 inlägg hehe ojdå, blev visst ett e istället för ett p... gammal vana...
nu funkar det! Tack än en gång, du har varit till STOR hjälp!
------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm
krazkoMedlem sedan maj 20023 inlägg Hur gör jag för att få
$tabell= preg_replace("/\[blue\](.+?)\[\/blue\]/is", "<font color=\"0000FF\">\\1</font>", $tabell);
att funka i en <table> på .php-sidan, och inte bara i ett forum (<textarea>)?