【发布时间】:2011-04-06 03:35:43
【问题描述】:
我真的不擅长正则表达式。它只是还没有点击。我正在尝试制作一个小型应用程序来提取其 src、宽度和高度属性的所有图像标签。这是我目前所拥有的:
<?php
function print_links ($url)
{
$fp = fopen($url, "r") or die("Could not contact $url");
$page_contents = "";
while ($new_text = fread($fp, 100)) {
$page_contents .= $new_text;
}
$match_result =
preg_match_all( '/<img.*src=[\"\'](.*)[\"\'].*width=(\d+).*height=(\d+).*/>/i',
$page_contents,
$match_array,
PREG_SET_ORDER);
echo "number matched is: $match_result<br><br> ";
print_r($match_array);
foreach ($match_array as $entry) {
$tag = $entry[0];
$src = $entry[1];
$width = $entry[2];
$height = $entry[3];
print (" <b>src</b>: $src;
<b>width</b>: $width<br />
<b>height</b>: $height<br />
<b>tag</b>: $tag<br />"
);
}
}
print_links ("http://www.drudgereport.com/");
?>
但我得到了这个小错误:
警告:preg_match_all(): Unknown modifier '>' in C:\Apache2.2\htdocs\it302\regex\regex.php 第 17 行匹配的数字是:
我不确定我的正则表达式哪里出错了。我尝试了多种方法,但最终还是很困惑。
有什么建议吗?
【问题讨论】:
-
不幸的是,这是一个需要正则表达式的赋值:/
标签: regex preg-match-all