Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库中选择标签并添加rel=“nofollow”_Php_Mysql_Regex_Select - Fatal编程技术网

Php 从数据库中选择标签并添加rel=“nofollow”

Php 从数据库中选择标签并添加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

我不知道如何实施以下措施:

我有一个数据库表Posts包含ID、Content,Posts表中有20000多个Posts,我想通过mysql查询找到内容记录中所有没有rel=nofollow属性的外部标记,然后添加rel=nofollow并更新post


关于如何实现这一点有什么建议吗?

我在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的建议,你完全正确,我会选择这个解决方案。