我从网站论坛上获取此正则表达式,以查找文本中的链接并将其替换为html链接,以便它们可以点击。
当有人输入其中一个如下所示的新YouTube链接时出现了问题:
链接由破折号组成,然后-ag2自行保留。
我不太了解php正则表达式,甚至不敢改变它来添加解析破折号所以我希望我能得到一些帮助:
$newText = preg_replace('@((http|https)://([\w-.]+)+(:\d+)?(/([\w/_.]*(\?\S+)?)?)?)@',
'<a href="$1" class="link1" target="_blank">$1</a>',$text);
我猜它在\ S + part
附近答案 0 :(得分:2)
$newText = preg_replace('@((http|https)://([\w-.]+)+(:\d+)?(/([\w/_-.]*(\?\S+)?)?)?)@',
'<a href="$1" class="link1" target="_blank">$1</a>',$text);
你需要一个' - ',它写成'[\ w /_.]'