我有一个问题: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)'";