我遇到问题: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";
谢谢, 保罗
答案 0 :(得分:0)
我几天前使用记事本++搜索完成了这项工作,并用这些替换为正则表达式函数:
表示块元素:s:[0-9]+:\"([^s:]*)(\.jpg|\.png)\";
表示普通图片:s:[0-9]+:\"http.*?(\.jpg|\.png)\";