Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
替换XML文件中的所有图像_Xml_Regex_Wordpress_Replace - Fatal编程技术网

替换XML文件中的所有图像

替换XML文件中的所有图像,xml,regex,wordpress,replace,Xml,Regex,Wordpress,Replace,我已经导入了所有wordpress内容,现在我想用占位符图像替换所有图像。我认为最明显的方法是搜索并替换所有图像。我尝试手动操作,但文件太大了,无法让我重新思考这个问题 以下是wordpress导出的XML文件示例: 我想用placehold.it url替换所有图像url 我正在使用sublime文本编辑器,是否有任何正则表达式来搜索XML文件上的所有图像url?我对正则表达式真的不是很在行 提前谢谢 用一些占位符文本替换所有图像src属性的简单正则表达式如下: 搜索: <img (.*

我已经导入了所有wordpress内容,现在我想用占位符图像替换所有图像。我认为最明显的方法是搜索并替换所有图像。我尝试手动操作,但文件太大了,无法让我重新思考这个问题

以下是wordpress导出的XML文件示例:

我想用placehold.it url替换所有图像url

我正在使用sublime文本编辑器,是否有任何正则表达式来搜索XML文件上的所有图像url?我对正则表达式真的不是很在行


提前谢谢

用一些占位符文本替换所有图像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,以防万一,还是只想转储它们?不,我不想保留它们,我想替换所有的图像