[英]Replace links in content with hyperlinks using Regular Expressions
我有一個包含用戶博客內容的字符串。 如果它們包括以下內容:
www.google.com
http://google.com
http://www.google.com
在他們的博客文章中,我希望PHP用真正的超鏈接替換這些事件,但保留原始子字符串(即不要將www.google.com
更改為http://www.google.com
)。
有誰知道我如何用PHP和正則表達式做到這一點? 我試過這個:
echo preg_replace('/((www|http:\/\/)[^ ]+)/', '<a href="$1" target="_blank">$1</a>', $content);
但是如果你用空格結束鏈接,這只會成功。 如果以逗號或句號結束,則會失敗。
preg_replace('/\b(?:(http(s?):\/\/)|(?=www\.))(\S+)/is',
'<a href="http$2://$3" target="_blank">$1$3</a>',
$content);
$pattern = '/<a (.*?)href=[\"\'](.*?)\/\/(.*?)[\"\'](.*?)>(.*?)<\/a>/i';
$new_content = preg_replace($pattern, '$5', $content);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.