替换XML文件中的所有图像
我已经导入了所有wordpress内容,现在我想用占位符图像替换所有图像。我认为最明显的方法是搜索并替换所有图像。我尝试手动操作,但文件太大了,无法让我重新思考这个问题 以下是wordpress导出的XML文件示例: 我想用placehold.it url替换所有图像url 我正在使用sublime文本编辑器,是否有任何正则表达式来搜索XML文件上的所有图像url?我对正则表达式真的不是很在行替换XML文件中的所有图像,xml,regex,wordpress,replace,Xml,Regex,Wordpress,Replace,我已经导入了所有wordpress内容,现在我想用占位符图像替换所有图像。我认为最明显的方法是搜索并替换所有图像。我尝试手动操作,但文件太大了,无法让我重新思考这个问题 以下是wordpress导出的XML文件示例: 我想用placehold.it url替换所有图像url 我正在使用sublime文本编辑器,是否有任何正则表达式来搜索XML文件上的所有图像url?我对正则表达式真的不是很在行 提前谢谢 用一些占位符文本替换所有图像src属性的简单正则表达式如下: 搜索: <img (.*
提前谢谢 用一些占位符文本替换所有图像src属性的简单正则表达式如下: 搜索:
<img (.*?)src=".*?"
<img (.*?)src=".*?"(.*?)width="(\d+)" height="(\d+)"
替换为:
<img $1src="http://example.com"
<img $1src="http://placehold.it/$3x$4"$2width="$3" height="$4"
如果要使用占位符URL,可以执行以下操作:
替换为:
<img $1src="http://example.com"
<img $1src="http://placehold.it/$3x$4"$2width="$3" height="$4"
说明:
.*? 表示0个或更多字符
\d+表示一个或多个数字
捕获括号的内容并将其保存为$1、$2、$3等
捕获之间的任何字符并将其保存在$1中-因此,如果存在类属性、ID或类似的内容,则将其保存为$1..*?也可以不匹配任何内容,因此$1也可以为空
width=\d+捕获赋予图像宽度的数字,并将其保存为$3,因为它是该正则表达式中的第三组括号。
正则表达式:
如果编辑器支持正则表达式搜索和替换,请在PHP中使用上面的else:
$string = preg_replace( '/(\<img\s+.*?src\s*=\s*)(?|"(.*?)"|\'(.*?)\')(.*?\/?\>)/is', '$1"http://placehold.it/"$3', $string );
你能提供一个简短的输入/输出示例以及你尝试过的内容吗?你打算保留图像的URL,以防万一,还是只想转储它们?不,我不想保留它们,我想替换所有的图像