【发布时间】:2016-06-17 17:21:35
【问题描述】:
我的网站上输出了一个链接,我想做的是替换用户看到的可见文本,但链接将始终保持不变。
会有很多不同的动态 url 伴随着文本被改变,所以到目前为止我发现的所有示例正则表达式都只使用精确的标签,比如 '/.*/'...或类似的东西
为更好的例子编辑
$link = '<a href='some-dynamic-link'>Text to replace</a>';
$pattern = '/#(<a.*?>).*?(</a>)#/';
$new_text = 'New text';
$new_link = preg_replace($pattern, $new_text, $link);
打印输出时,以下是我正在寻找的,与我的结果相反。
想要的
<a href='some-dynamic-link'>New text</a>
实际
'New text'
【问题讨论】:
-
问题出在哪里?
-
您的 PHP 用途是什么?如果不使用
s修饰符,.不匹配换行符。您可能还想使用解析器。 -
您可能需要将捕获组添加回替换值。如果没有使用 PHP,我们不知道你在做什么..