webForumDet fria alternativet

hitta urls i sträng

PHPur PHP

2 svar · 392 visningar · startad av Prime_66

Prime_66Medlem sedan aug. 2004290 inlägg
#1

Finns det något sätt att plocka ut alla URLS i en sträng och skriva om dom?

fiddlerMedlem sedan juli 20023 617 inlägg
#2

Har använt denna funktion:

function url_to_link($string,$target="_blank"){
 
    /* Take Care of normal URLs */
    $string = preg_replace("/(?<=^|\s)((https?|ftps?):\/\/)?(([-_a-zA-Z]+\.)+)([a-zA-Z]{2,6})(\/[^\]\[\s]*)?(?=\s|$)/e","'$1'!=''? '<a href=\"$1$3$5$6\" target=\"$target\">$1$3$5$6</a>':'<a href=\"http://$3$5$6\" target=\"$target\">$3$5$6</a>'",$string);
 
    /* Take Care of [url=][/url] */
    $string = preg_replace("/\[url=((https?|ftps?):\/\/)?(([-_a-zA-Z]+\.)*)([a-zA-Z]{2,6})(\/[^\]\[\s]*)?\]([^\]\[]+)\[\/url\]?/e","'$1'!=''?'<a href=\"$1$3$5$6\" target=\"$target\">$7</a>':'<a href=\"http://$3$5$6\" target=\"$target\">$7</a>'",$string);
 
 
    /* Take Care of [url][/url] */
    $string = preg_replace("/\[url]((https?|ftps?):\/\/)?(([-_a-zA-Z]+\.)*)([a-zA-Z]{2,6})(\/[^\]\[\s]*)?\[\/url\]/e","'$1'!='' ?'<a href=\"$1$3$5$6\" target=\"$target\">$1$3$5$6</a>':'<a href=\"http://$3$5$6\" target=\"$target\">$3$5$6</a>'",$string);
 
return $string;
}
Prime_66Medlem sedan aug. 2004290 inlägg
#3

det löste sig..

254 ms totalt · 3 externa anrop · v20260731065814-full.363dfaf6
137 ms — hämta forumlista (db)
116 ms — hämta statistik (db)
135 ms — hämta tråd, inlägg och bilagor (db)