Antar att det är följande du är ute efter:
$str = eregi_replace("\[url\]([a-zA-Z\.\:\/?åäöÅÄÖ0-9_\-]+)\[/url\]","<a href=\"\\1\">\\1</a>",$str);
7 svar · 195 visningar · startad av U2K
Nu är det så här att jag har kommit till ett problem.. Jag har med hjälp av str_replace funktionen kunnat göra inläggen lite mer personliga.. Men nu vill jag att den ska länka själv..
Jag har sett på reguljära uttryck men blir inte särskilt klokare..
Exempel.
$str = "Besök <A HREF="http://www.webforum.nu";" TARGET=_blank>www.webforum.nu";</A>
// Detta ska bli till
$str = "Besöka <a href='www.webforum.nu'>www.webforum.nu</a>";
Snälla hjälp mig :)
Antar att det är följande du är ute efter:
$str = eregi_replace("\[url\]([a-zA-Z\.\:\/?åäöÅÄÖ0-9_\-]+)\[/url\]","<a href=\"\\1\">\\1</a>",$str);
JA, jag tror det. Kan du inte förklara vad som händer? Det ska inte vara så att man ska skriva in [url) eller något utan det ska göras automatisk som det gör här på webforum när jag nu skriver in denna adressen
www.webforum.nu
Så länkar den automatiskt.. Var det ett sådant sätt som din kod funkade?
Ovanstående kod konverterar [ u r l ] h t t p : / / w w w . l a n k . s e [ / u r l ] till länkar. För automatisk, använd följande:
$str = preg_replace( "/(?i)((http|news|ftp)+:\\/\\/\\S+)/", "<a href='\\1' target='_blank'>\\1</a>", $str );
stevenet
Du skulle möjligtvis inte kunna dra en snabb förklaring på den där regexp:en?
Jag fattar inte så mycket faktiskt.
? - matchar 0 till en gång
http|news|ftp - matchar http,news och ftp
+ - matchar en gång eller fler
\S - matchar alla tecken förutom tomrumstecken (mellanslag, tab, ny rad)
Bör även nämna att regexp:en är hämtad ifrån projekt wF.
Ytterliga frågor hänvisas till manualen:
http://www.php.net/manual/en/pcre.pattern.syntax.php