$ matches [0]没有在屏幕上显示数据,但表示它在那里?

时间:2013-06-08 21:24:46

标签: php regex preg-match preg-match-all

$str = "<p><example:wow id='test' style='hello' /></p>";

preg_match_all ("/<example:wow(.*)[^>]>/", $str, $matches);

我的$ matches [0]表示那里有数据(字符串长度为43),但屏幕上没有字符串输出。

  

array(1){[0] =&gt; string(43)“”}

如果我从单词示例之前删除<:我可以看到$ matches [0]上的输出。当有<时,为什么我没有真正获得$ matches [0]的字符串值?我的$ matches [1]无论哪种情况都很好,但我需要捕获所有$ match [0]。

1 个答案:

答案 0 :(得分:0)

您可能无法在屏幕上获取数据,因为浏览器正在尝试呈现未知的html / xml标记:

使用你的代码,我在$ matches上得到了这个结果:

Array
(
    [0] => Array
        (
            [0] => <example:wow id='test' style='hello' /></p>
        )

    [1] => Array
        (
            [0] =>  id='test' style='hello' /></
        )

)

因此,出于调试原因,请尝试:

print_r ($matches);