php正则表达式preg_match

时间:2012-10-20 03:01:59

标签: php expression match

注意$ pattern

的变化
$subject = '<table width="750"  style="padding-left:150px;"><tr><td width="108"class="fieldname">First Name:</td><td width="381" class="fieldname">';

    $pattern = '/(table)/';
    $matches = array();
    echo preg_match( $pattern, $subject, $matches)."<br/>";
    echo $matches[0]."<br/>";

给我输出
1

AND前缀表&lt;在$ pattern给我输出
1个

为什么?我不应该&lt;表作为输出?

2 个答案:

答案 0 :(得分:0)

当你回显preg_match的结果时,你会得到一个布尔值,所以'1'就是人们所期望的。 $ matches [1]和$ matches [0]都会给你'table',这就是人们所期望的。告诉我们您想要匹配的内容,我们可以提供帮助。

最后一个参数中的preg_match&amp; modified变量将为您提供:   - [0]总比赛   - [1]括号内的匹配

虽然上面的答案是正确的,但&lt;(space)表应该给你一个布尔值FALSE。如果上述回答者在假设没有空间的情况下是正确的,那么他的回答是正确的,你正在查看浏览器输出而不是源。

答案 1 :(得分:0)

你明白了,但你没有看到它(它是HTML标记,浏览器试图渲染表格)。

使用

 echo htmlentities($matches[0])."<br/>";

......检查比赛。