Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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
Php preg_replace的正则表达式:单独的路径和文件名_Php_Regex_Preg Replace_Filenames_Filepath - Fatal编程技术网

Php preg_replace的正则表达式:单独的路径和文件名

Php preg_replace的正则表达式:单独的路径和文件名,php,regex,preg-replace,filenames,filepath,Php,Regex,Preg Replace,Filenames,Filepath,在PHP中,我尝试实现更改字符串: <img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149"> 为此: <img class="alignnone size-medium wp-image-18" sr

在PHP中,我尝试实现更改字符串:

<img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">

为此:

<img class="alignnone size-medium wp-image-18" src="" data-path="http://localhost/wp-content/uploads/2015/02/" data-img="300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">

我想用

preg_replace('/src="(what-is-a-path-regex)(.*)"/', 'src="" data-path="$1" data-img="$2"', '<img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">')
preg_replace('/src=“(what-is-a-path-regex)(.*)”/,'src=“”数据路径=“$1”数据img=“$2”,”)
用什么正则表达式来代替“wat-is-a-path-regex”?

这应该可以:
(https?:\/\/.+\/)(.+)
。有一个例子


也就是说,您应该看看是否可以将这种方法与DOM解析相结合,以便首先提取所需的属性。

您可以尝试以下方法

preg_replace('~src="(.*?\/)([^/"]*)"~', 'src="" data-path="\1" data-img="\2"', '<img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">');
preg\u replace('~src=“(.*?\/)([^/“]*)”、'src=“”数据路径=“\1”数据img=“\2”、”);

[^/“]*
与任何字符(但不属于
/
的字符)匹配的求反字符类,零次或多次