我正在使用php解析数据库中的一些文章,在文章中有我想要覆盖的链接。链接始终以“http://cdn.example.com/
”开头,结束解析器为htmlspecialchars_decode($item->parse_articles(), ENT_NOQUOTES)
。
所以在将文章传递给HTML DOM之前,我想替换包含(?)example.com的所有href,或者甚至可以更快,更可能删除{{1完全。
<a>
。
这怎么可能?如果可能,这被认为是更快的选项,而不是首先将它传递给DOM并在客户端从那里操作它?
答案 0 :(得分:1)
您可以在PHP中尝试以下内容:
$newtext = preg_replace('/^("http:\/\/cdn\.example\.com\/){1}(.*)("){1}$/', '"#" class="disabled-link"', $oldtext);
$ oldtext作为字符串输入文章。 $ newtext是页面上回显的文本。
细分:
这应该让你删除链接,我也添加了类部分,这样你就可以添加一些CSS来将链接设置为文本样式。
示例:
.disabled-link{
color:#000;
pointer-events: none;
cursor: default;
text-decoration: none;
}
所有这些组合将为用户提供一个完全不可见的链接,而无需查看DOM或源。