Php preg_replace的正则表达式:单独的路径和文件名
在PHP中,我尝试实现更改字符串: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
<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”、”);
[^/“]*
与任何字符(但不属于”
或/
的字符)匹配的求反字符类,零次或多次