Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
在mysql中搜索和替换内容中的图像维度?_Mysql_Image_Wordpress_Replace - Fatal编程技术网

在mysql中搜索和替换内容中的图像维度?

在mysql中搜索和替换内容中的图像维度?,mysql,image,wordpress,replace,Mysql,Image,Wordpress,Replace,我有一个wordpress博客,有超过500篇文章。第一个后期图像总是550px宽,高度在300px和450px之间 博客设计已经更新,第一张博文图片现在是600px宽,在350px和500px高之间。我已经手动下载了第一批图像,并将它们的大小从550调整到600,但质量略有下降 最简单的方法是在数据库中搜索和替换。查找width=“550”并将其替换为width=“600”,但高度存在问题。这不是一个固定的变量,比如550 如果wordpress图片有自己的表格,我可以做一些简单的事情,比如

我有一个wordpress博客,有超过500篇文章。第一个后期图像总是550px宽,高度在300px和450px之间

博客设计已经更新,第一张博文图片现在是600px宽,在350px和500px高之间。我已经手动下载了第一批图像,并将它们的大小从550调整到600,但质量略有下降

最简单的方法是在数据库中搜索和替换。查找width=“550”并将其替换为width=“600”,但高度存在问题。这不是一个固定的变量,比如550

如果wordpress图片有自己的表格,我可以做一些简单的事情,比如

update  wp_posts
set height = height*1.09;
但在wordpress的情况下,这是无法做到的,因为信息存储在post_内容中,看起来如下所示:

<img class="alignnone size-full wp-image-4352" title="Image Title" src="http://www.website.com/wp-content/uploads/2012/12/image.jpg" alt="image" width="550" height="351" />


在mysql中,如何使高度与宽度成比例变化?

这是一个非常棘手的问题。但这也是一个有趣的问题

不管怎样,就这样。要从post_内容图像中提取宽度和高度,请创建一个视图

create view temp_images (id, width, height) as
select id,
       ExtractValue(post_content, '/img/@width'),
       ExtractValue(post_content, '/img/@height')
from wp_posts
where post_content like '<img%'
      and ExtractValue(post_content, '/img/@width') = 550;
当然,最后还是清理干净了

drop view temp_images;

最后但并非最不重要的一点是,这里有一个测试和播放的方法。

这是一个非常棘手的问题。但这也是一个有趣的问题

不管怎样,就这样。要从post_内容图像中提取宽度和高度,请创建一个视图

create view temp_images (id, width, height) as
select id,
       ExtractValue(post_content, '/img/@width'),
       ExtractValue(post_content, '/img/@height')
from wp_posts
where post_content like '<img%'
      and ExtractValue(post_content, '/img/@width') = 550;
当然,最后还是清理干净了

drop view temp_images;

最后但并非最不重要的一点是,这里有一个用于测试和播放的示例。

谢谢。临时“存放”数据的好主意。要清楚的是,这段代码似乎会将所有图像的高度更改*1.09,而不仅仅是宽度为550的图像?例如,图库中可能有800x600的图像,或者帖子中的图像小于550px。@Lisa好的,我错过了。所以,您只想更改图像,其宽度正好为550px?或者有其他属性?@Lisa我更新了答案,如果只是550px宽的图片。谢谢你的更新。这似乎给出了一个语法错误SQL查询:UPDATE wp_posts,temp_images SET post_content=UpdateXml(post_content,/img/@width,/width=“600”),其中wp_posts.id=temp_images.id;MySQL retourneerde:#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解要使用的正确语法,其中第2行的wp_posts.id=temp_images.id我分3个步骤进行了尝试,效果良好。非常感谢。还有一个问题。这是一种使数字四舍五入的方法。381像素已转为416.328987谢谢。临时“存放”数据的好主意。要清楚的是,这段代码似乎会将所有图像的高度更改*1.09,而不仅仅是宽度为550的图像?例如,图库中可能有800x600的图像,或者帖子中的图像小于550px。@Lisa好的,我错过了。所以,您只想更改图像,其宽度正好为550px?或者有其他属性?@Lisa我更新了答案,如果只是550px宽的图片。谢谢你的更新。这似乎给出了一个语法错误SQL查询:UPDATE wp_posts,temp_images SET post_content=UpdateXml(post_content,/img/@width,/width=“600”),其中wp_posts.id=temp_images.id;MySQL retourneerde:#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解要使用的正确语法,其中第2行的wp_posts.id=temp_images.id我分3个步骤进行了尝试,效果良好。非常感谢。还有一个问题。这是一种使数字四舍五入的方法。381像素已变为416.328987