【发布时间】:2018-07-01 04:01:53
【问题描述】:
我已经编写了这些代码来将类似 url 的文本转换为超链接:
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/www\.[a-zA-Z0-9]{5}\.com(\w*)(\/\S*)?/";
echo preg_replace($reg_exUrl, '<a href="$1://www.$2.com">$1://www.$2.com$3</a>','http://www.abcde.com/index.html');
输出是:
<a href="http://www..com">http://www..com/index.html</a>
但是 $2 是空的 - 这是为什么呢?
【问题讨论】:
-
$2引用了(\w*),你把它放在.com之后和/之前,这意味着它几乎总是空的。 -
您可以看到 here 您的第 2 组没有捕获任何内容。
-
那么如何获取 www 和 .com 之间的字符串?
标签: php regex preg-replace