0
我有一串由用戶生成的文字。 我需要將文本中的任何網址轉換爲鏈接(url),並且在錨文本很長的情況下(url)將其縮短(非常類似於StackOverflow縮短url鏈接中錨點的方式)。使網址可點擊並縮短文字
我目前使用這個PHP代碼的URL轉換的文本鏈接:
return preg_replace(
"/(?<!a href=\")(?<!src=\")((http|ftp)+(s)?:\/\/[^<>\s]+)/i",
"<a href=\"\\0\" target=\"blank\" rel=\"nofollow\">\\0</a>",$s);
這似乎爲我測試的最網址。
問題是如何縮短錨文本,如果它太長?
例如。本文:
以下是一些文字,鏈接http://www.google.com/search?q=bla%20bla%20bla應該可以鏈接。 這個網址是足夠短,以顯示一切:http://bit.ly/blabla
應轉換成這樣:
Here is some text with a link <a href="https://www.google.com/search?q=bla%20bla%20bla">https://www.google.com/search...</a> that should be linkable.
This url is short enough to show everything: <a href="http://bit.ly/blabla">http://bit.ly/blabla</a>
任何想法如何,我可以操縱的正則表達式匹配的文本?
謝謝。我想在服務器上執行此操作,以確保在所有設備上獲得一致的體驗。 (順便說一下,不知道爲什麼你的答案被拒絕或爲什麼我的問題被拒絕) – Guy