从SQL Wordpress数据库中删除特定的div和内容



我正试图从Wordpress的大量帖子中删除一个特定的div及其内容。我不希望仅仅使用"display:none"来使div不可见,而是希望它被永久删除。这就是为什么我更喜欢从SQL数据库中删除div及其内容。div如下所示:

<div class="inhoud"><h3>abc bac</h3><ul>
<li><a href="a">abc bac</a></li>
<li><a href="b">abc bac</a></li>
<li><a href="c">abc bac</a></li></ul>
</div>

简而言之,我希望从posts内容中删除所有具有类inhoud的div。

我已经尝试了几种方法,包括这个正则表达式:

UPDATE `wp_posts` SET `post_content` = REGEXP_REPLACE(post_content,'<div class="inhoud">.*?</div>','')

这并没有起到多大作用。我做错了什么?正确的方法是什么?

为什么不对所有结果执行一个php foreach从该表中,然后用简单的regex:替换该字段的结果

$str = '<div class="inhoud"><h3>abc bac</h3><ul> <li><a href="a">abc bac</a></li> <li><a href="b">abc bac</a></li> <li><a href="c">abc bac</a></li></ul> </div> <div> your next data</div>';
$str = preg_replace('~<div([^>]*)class="(.*?)inhoud(.*?)">(.*?)</div>~im', '', $str);

几个小时后,我终于完成了这个SQL更新:

UPDATE `wp_posts` SET `post_content` = REGEXP_REPLACE(post_content,'<div class="inhoud">(?s)(.*?)</div>','')

最新更新