Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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 从帖子中删除以此ID开头的所有图像_Php_Html_Mysql_Wordpress - Fatal编程技术网

Php 从帖子中删除以此ID开头的所有图像

Php 从帖子中删除以此ID开头的所有图像,php,html,mysql,wordpress,Php,Html,Mysql,Wordpress,我有大约300篇Wordpress帖子,每一篇帖子上都有我过去使用过的一项服务的“跟踪像素”(他们使用IMG标签来实现)。 看起来是这样的: (每个跟踪像素具有不同的serviceTrack\u ID) 我想从我所有的帖子中删除所有这些img id(删除图片)。我该怎么做? 谢谢大家! 假设您拥有必要的权限,您可以转储数据库: mysqldump -u yourUserName -p yourDatabaseName wp_posts > posts.sql 然后替换字符串: find

我有大约300篇Wordpress帖子,每一篇帖子上都有我过去使用过的一项服务的“跟踪像素”(他们使用IMG标签来实现)。

看起来是这样的:

(每个跟踪像素具有不同的
serviceTrack\u ID

我想从我所有的帖子中删除所有这些img id(删除图片)。我该怎么做?


谢谢大家!

假设您拥有必要的权限,您可以转储数据库:

mysqldump -u yourUserName -p yourDatabaseName wp_posts > posts.sql
然后替换字符串:

find /path/where/you/put/dump/posts.sql -type f -exec sed -i 's/<img id="serviceTrack_*" 
 style="margin: 0px !important; padding: 0px !important;" 
 src="https://example-domain/e/ir?source=example148522" alt="example" width="0" height="0" 
 border="0" />//g' {} \;
find/path/where/you/put/dump/posts.sql-type f-exec sed-i's///g'{}\;
然后重新导入该表:

mysqlimport -u yourUserName -p yourDatabaseName wp_posts < posts.sql
mysqlimport-u yourUserName-p yourDatabaseName wp_posts

免责声明:我没有在实际数据上测试replace命令。我建议您在尝试任何操作之前备份数据,并在覆盖实时数据之前在虚拟安装中对其进行测试。

将post字段数据拉入客户端代码,使用dom解析器查找/删除相关html代码段,然后将修改后的代码段塞回数据库。在mysql中这样做会很痛苦,因为你只能进行普通的字符串操作。它们是有序的还是随机的id?它们是非常随机的。serviceTrack_3274570、serviceTrack_3274581、serviceTrack_3274599等等。Marc B,不幸的是,我不知道怎么做——我的编程技能不太好。有没有一个简单的方法可以做到这一点呢?也许你会想用这样的方法进行迭代<代码>文档.querySelector('[id^=“serviceTrack-“]').id谢谢你,我会看看我能做些什么。