我正在尝试抓取文件并在每个图像路径的开头插入“../../”。不幸的是,脚本超时了,因为在添加之前只花了几秒钟才能运行,有些东西告诉我它没有做我认为应该做的事情。这就是我的做法:
$filedata = substr_replace(substr($filedata,$imageBeginning,1),"../../",$imageBeginning);
我正在抓取整个HTML文件来完成此任务,因此我需要一个有效的解决方案。任何帮助表示赞赏。
答案 0 :(得分:0)
这是完全未经测试的,但是像这样:
preg_replace('/(<img\s+.*?src=")(.*\\.(?:jpg|png|bmp|gif).*?>)/', '$1../../$2', $filedata);
说明:您正在使用正则表达式进行2次捕获。第一个是从img
标记的开头到src
属性的开头的所有内容。第二个是src
属性值及其后的所有内容。然后你只需在替换中间插入“../../”。