PHP-序列化的xml图像替换


PHP - Serialized xml images replace

我有一个问题:s:64:"http://urlurl.com/wp-content/uploads/2013/03/30.jpg";

这是一个包含序列化内容的xml文件的片段。我需要浏览整个文件,并用新图像替换每个图像(jpg或png)。AND:用我的新字符数替换s:64。所以我需要在每个jpg或png文件之前替换s:whatever的每个实例,并替换图像文件。

有正则表达式的想法吗?

输入:s:5:"image";s:51:"http://urlurl.com/wp-content/uploads/2012/07/06.jpg";s:7:"id_base";a:6:{s:7:"id_base";s:15:"aq_column_block";s:4:"name";s:6:"Column";s:5:"order";s:1:"6";s:4:"size";s:5:"span4";s:6:"parent";s:1:"0";s:6:"number";s:1:"6";}s:10:"aq_block_9";a:14:{s:7:"content";s:5:"image";s:51:"http://urlurl.com/wp-content/uploads/2011/12/10.jpg";

期望输出:s:5:"image";s:7:"MYIMAGE";s:7:"id_base";a:6:{s:7:"id_base";s:15:"aq_column_block";s:4:"name";s:6:"Column";s:5:"order";s:1:"6";s:4:"size";s:5:"span4";s:6:"parent";s:1:"0";s:6:"number";s:1:"6";}s:10:"aq_block_9";a:14:{s:7:"content";s:5:"image";s:7:"MYIMAGE";

所以基本上将s:51:"http://urlurl.com/wp-content/uploads/2012/07/06.jpg";s:51:"http://urlurl.com/wp-content/uploads/2011/12/10.jpg";改为s:7:"MYIMAGE";

谢谢,Paul

我几天前已经使用notepad++搜索完成了这项工作,并用以下内容替换为regex函数:

对于块元素:s:[0-9]+:'"([^s:]*)('.jpg|'.png)'";

对于正常图像:s:[0-9]+:'"http.*?('.jpg|'.png)'";