我有一個小的功能,經過一堆文字,並期待在文本形式的任何URL,並將它們轉換成HTML的的提取文本:從一個鏈接
我的功能如下:
function linkify($text)
{
$text = eregi_replace('(((f|ht){1}tp://)[[email protected]:%_\+.~#?&//=]+)',
'<a target="_blank" href="\\1">\\1</a>', $text);
$text = eregi_replace('([[:space:]()[{}])(www.[[email protected]:%_\+.~#?&//=]+)',
'\\1<a target="_blank" href="http://\\2">\\2</a>', $text);
return $text;
}
這是一切正常,但我在哪裏使用此功能,並打印出的HTML是在有限的寬度空間,有時鏈接最終大得多,然後可以適應空間,我最終溢出。
我想知道如何去做2件事:
a。從文本即去除不必要的「http://」,所以我最終會與
<a href="http://www.somewebsitelink.com">www.somewebsitelink.com</a>
和
灣如果文本大於20個字符,請剪下它後面的所有內容並放入幾個點。 e.g:
<a href="http://www.somewebsitelink.com">www.somewebsitelin...</a>
我想知道如果我有可能做到這一點,而無需使用正則表達式,但話又說回來我REG EXP的理解是相當有限的。
我逼債覺得有這個防彈的解決方案,糾正我,如果我錯了。我只肯定eregi_replace不推薦(不推薦使用v5.3) – ajreal
謝謝你 - 我不知道。 – willdanceforfun