webForumDet fria alternativet

[url][/url]

2 svar · 252 visningar · startad av kris

krisMedlem sedan sep. 200278 inlägg
#1

jag använder följande kod för att kolla om en sträng innehåller [url=adress]text[/url] och detta ändras då till <a href="adress">text</a>

  $content = eregi_replace("(\[url=)(([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url] |mailto:)(([[:alnum:]]|[[:punct:]])*))\](([[:alnum:]]|[[:punct:]]|[[:space:]]|[ÅåÄäÖö])*)\[/url\]","<a href=\"\\2\" target=\"_blank\">\\6</a>",$content);

Problemet är att det bara funkar att ha en URL i strängen, hur gör jag om jag har flera?

/kris

SPiNMedlem sedan mars 20007 896 inlägg
#2
$str = preg_replace( "'\[url=(.*?)\](.*?)\[/url\]'is", "<a href=\"$1\">$2</a>", $str );

Bör fungera som du vill.

dectgapMedlem sedan sep. 20021 655 inlägg
#3

Använd dig då istället av preg_replace().
Tänk på att du anger bakåtreferenser som \\n (det är kanske bara forumet som förstör det du har skrivit).

EDIT:
Lite sent ute dock.

123 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)