php相对img src检测

时间:2014-10-23 11:03:21

标签: php regex

我试图构建一个PHP脚本,它将捕获html代码中的所有相对img src

我最终在这段代码中使用了模式和替换功能,这在大多数情况下似乎都有效:

        $base = "http://mycdn.example.org";
        $text = '<img src="/a.png" />';
        $text .= '<img src="//www.google.com/b.png" />';
        $text .='<img src="http://www.example.org/c.png" /<';
        $pattern = "/<img([^>]*) "."src=\"[^http|ftp|https]([^\"]*)\"/";
        $replace = "<img\${1} src=\"" . $base . "\${2}\"";
        $text = preg_replace($pattern, $replace, $text);

结果i除了a.png将被替换为具有$base路径的绝对URL,但b和c将保持不变。

它适用于c但不适用于b,其中协议从http开始为短,意味着,以2斜杠(//)开头

`//www.google.com/b.png`

任何帮助都应该得到很大的帮助

0 个答案:

没有答案