注意$ 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;表作为输出?
答案 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/>";
......检查比赛。