Url bir hashtag içeriyorsa nasıl gebelik çalışmak yerine alabilirim

1 Cevap php

Ben tıklanabilir bir bağlantı içine bir dize içinde bir url dönüm için çevrimiçi bir işlevi bulundu. Ancak, url bir hashtag içeren zaman çalışmaz. örn. http://www.bbc.co.uk/radio1/photos/fearnecotton/5759/1#gallery5759

Burada söz işlevinin parçası:

$ret = preg_replace(
    "#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#",
    "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>",
    $ret
);

$ret = preg_replace(
    "#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#",
    "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>",
    $ret
);

Herhangi bir fikir? teşekkürler

1 Cevap

Bu deneyin:

<?php

$text = "This is my link:  http://www.bbc.co.uk/radio1/photos/fearnecotton/5759/1#gallery5759";
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\" target=\"_blank\">\\0</a>", $text); 
echo $text; // output: This is my link:  <a href="http://www.bbc.co.uk/radio1/photos/fearnecotton/5759/1#gallery5759" target="_blank">http://www.bbc.co.uk/radio1/photos/fearnecotton/5759/1#gallery5759</a>

?>