preg_match&正则表达式无法捕获文件名为“a.jpg_x.jpg”的完整URL

时间:2010-06-03 01:20:11

标签: php regex

我在我的代码中使用:

preg_match( '!http://[^?#]+\.(?:jpe?g|png|gif)!Ui' , $str[1], $results );

除了以下情况外,它适用于大多数情况:

src='http://www.domain.com/Pic/folder1/folder2/a.jpg_x.jpg' alt=

我明白了:

......older2/a.jpg

我需要:

.....older2/a.jpg_x.jpg

任何想法?

提前致谢

2 个答案:

答案 0 :(得分:0)

我相信你需要结束表达式字符“$”

例如。 preg_match('!http://[ ^?#] +。(?:jpe?g | png | gif)$!Ui',$ str [1],$ results);

注意:这是完全未经测试的。抱歉,我正在通过手机发帖,所以我无法测试。

答案 1 :(得分:0)

$str = "src='http://www.domain.com/Pic/folder1/folder2/a.jpg_x.jpg' alt=";
preg_match("!http://[^?#']+\.(?:jpe?g|png|gif)!i", $str, $results );
var_dump($results);