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

js5cn81o  于 2022-11-02  发布在  WordPress
关注(0)|答案(2)|浏览(169)

我正在尝试从大量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>

简而言之,我希望从帖子内容中删除所有类为inhoud的div。
我尝试了几种方法,包括以下正则表达式:

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

我做错了什么,正确的方法是什么?

kxxlusnw

kxxlusnw1#

为什么不对该表中的所有结果执行一次php foreach,然后用简单的正则表达式替换该字段的结果:

$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);
aij0ehis

aij0ehis2#

几个小时后,我终于设法做到这一点与此SQL更新:

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

相关问题