2017-05-22 21 views
-3

我不知道如何实现以下内容:选择从DATABSE <a>标签,并添加相对=“nofollow”

我有一个数据库表“信息”包含ID,内容,我有超过20000个帖子在帖子表,我想让mysql查询找到内容记录中没有rel =“nofollow”属性的所有外部标签,然后添加rel =“nofollow”并更新帖子。

关于如何实现这个的任何建议?

+0

您需要先尝试一下。向我们展示您尝试过的代码,然后我们会从那里帮助您。 – CodeGodie

+0

我会给你提示,使用存储过程使其更容易,并看看这个:https://dev.mysql.com/doc/refman/5.7/en/string-functions.html – divinemaniac

+2

考虑_not_修改数据,而是'固定'输出_after_提取数据并显示之前。 –

回答

0

我在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 
    ); 
}