Php 从数据库中选择标签并添加rel=“nofollow”
我不知道如何实施以下措施: 我有一个数据库表Posts包含ID、Content,Posts表中有20000多个Posts,我想通过mysql查询找到内容记录中所有没有rel=nofollow属性的外部标记,然后添加rel=nofollow并更新postPhp 从数据库中选择标签并添加rel=“nofollow”,php,mysql,regex,select,Php,Mysql,Regex,Select,我不知道如何实施以下措施: 我有一个数据库表Posts包含ID、Content,Posts表中有20000多个Posts,我想通过mysql查询找到内容记录中所有没有rel=nofollow属性的外部标记,然后添加rel=nofollow并更新post 关于如何实现这一点有什么建议吗?我在Stackoverflow上找到了这个解决方案,找不到它的参考资料,很抱歉。这对我有用 $content = nofollow($content,'example.com'); function nofollo
关于如何实现这一点有什么建议吗?我在Stackoverflow上找到了这个解决方案,找不到它的参考资料,很抱歉。这对我有用
$content = nofollow($content,'example.com');
function nofollow($html, $skip = null) {
return preg_replace_callback(
"#(<a[^>]+?)>#is", function ($mach) use ($skip) {
return (
!($skip && strpos($mach[1], $skip) !== false) &&
strpos($mach[1], 'rel=') === false
) ? $mach[1] . ' rel="nofollow">' : $mach[0];
},
$html
);
}
你需要先尝试一下。向我们展示你已经尝试过的代码,然后我们将帮助你。我将给你一个提示,使用存储过程使它更容易,并看一看:考虑不要修改数据,而是在获取数据之后再显示它之前的“固定”输出。你真的在数据库中存储HTML标记吗?如果是这样,那就不是个好主意。HTML/PHP/MySQL都是完全不同的动物,应该被视为完全不同的动物。谢谢@RickJames的建议,你完全正确,我会选择这个解决方案。