我使用此preg_replace将脚本中的文本 url 更改为可单击: 将文本链接替换为链接 preg_replace
昨天我测试了我的脚本,这些preg_replace无法正常工作。
下面是示例:
(...) stronie http://tpn.pl/nowosci/uwaga-skiturowcy-1).
这些preg_replace最终创建了这个:
stronie <a href="http://tpn.pl/nowosci/uwaga-skiturowcy-1)." target="_blank">tpn.pl</a>
为什么preg_replace添加")"。在网址的末尾?如何在 URL 字符串的末尾只接受"A-Z, a-z, 0-9,/"(我想我写了所有内容都接受网址的结尾?
谢谢。
编辑:
这是我的代码:
$sub_message = preg_replace('|(['w'd]*)'s?(https?://(['d'w'.-]+'.['w'.]{2,6})[^'s']'['<'>]*/?)|i', '$1 <a target="_blank" href="$2">$3</a>', $value['description']);
$sub_message = trim(str_replace("'n", "<br />", $sub_message));
您可以使用以下代码将 url 更改为字符串中的链接:
<?php
$x="foobar http://example.com foobar";
echo preg_replace("~(https?://(?:www'.)?[^'s]+)~i","<a href='$1'>$1</a>",$x);
在线演示 : https://eval.in/532195