【问题标题】:Remove an attribute from all the img src tags in MySQL (Wordpress installation)从 MySQL 中的所有 img src 标签中删除一个属性(Wordpress 安装)
【发布时间】:2016-06-24 20:31:53
【问题描述】:

我的 Wordpress 网站有数百张具有以下属性的图片:

rel="lightbox" or rel=lightbox

所以,我的 img src 看起来像这样: <img src="/image1.png" rel="lightbox"><img src="/image1.png" rel=lightbox>

我的网站上必须有 2000 多张图片,我很确定近 500-600 张此类图片将具有 rel="lightbox" 或 rel=lightbox 属性。

我的是 MySQL 数据库。

如何从所有这 500-600 张图片中删除 rel="lightbox" 或 rel=lightbox?

【问题讨论】:

  • rel="lightbox" 属性onlyimg 标签上吗?我们可以假设我们可以将它们全部删除,而不管标签如何?如果这是 WordPress,我们可以假设您只是在谈论更新 wp_posts.post_content 字段吗?
  • 是的.. 我相信 rel="lightbox" 只在 '' 标签内..
  • 我可以使用 MySQL 或者只是使用 SQL 命令。但是,WordPress 是用 PHP 编写的。在 PHP 中创建一个一次性函数应该相当简单,它选择其中包含单词“lightbox”的所有记录,然后使用 PHP 的字符串操作代码使用 preg_replace( ) 命令,然后只更新记录。
  • 我刚刚做了一个搜索 - 看看:stackoverflow.com/questions/1876762/…

标签: html mysql wordpress


【解决方案1】:

转到您的代码打印这些图像的位置,或者您可以在标题或正文部分进行打印: 您可以使用一些 php 代码来捕获它们:

<?php foreach ($imgs as $img) { ?>
<?php
if($img['rel'] != "lightbox")
{ ?>

您可以随心所欲地打印网址。 像这样带有 url 且没有 rel 属性的 img src

<img src="<?php echo $img['rel']; ?>"  />
<?php } ?>

【讨论】:

  • 这没有回答“我如何从记录中删除它?”的问题。请参阅我上面的第二个帖子。
  • 所以你告诉我灯箱存在于数据库表中。你希望它从那里删除。假设它存在在那里你从那里删除它然后当代码调用 img src rel 属性时它会是像这样 rel=""。
  • inn: 我猜你在跟我说话。 :-) 最初的问题只是如何删除字符串的“rel='lightbox'”或“rel=lightbox”部分。 Ravichopra 没有说或询问如何将其放入他的 HTML 或如何处理它。您的答案是假设 Ravichopra 想要保留该选项以及如何阻止它。不是一回事。因此,您的答案没有回答原始问题。并不是说您的答案是错误的答案。离得很远。但这不是这个人要找的答案。好的? :-)
【解决方案2】:

备份您的数据库,然后运行以下 SQL:

update wp_posts
set post_content = replace(post_content, ' rel="lightbox"', '')
where post_content like '% rel="lightbox"%';

update wp_posts
set post_content = replace(post_content, ' rel=lightbox', '')
where post_content like '% rel=lightbox%';

假设它只是您正在谈论的 post_content 字段,并且您具有默认的 db 前缀 (wp_)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    相关资源
    最近更新 更多