正则表达式PHP子模式

时间:2014-09-04 17:53:14

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

我无法使用子模式

preg_match_all("/<title>(\b\w{4,100}\b)<\/title>/", $input_lines, $output_array);

我想从title属性中提取超过3个字符的所有单词。

如果我尝试以下表达式,他们都会工作。但是,一旦我想将最后一个作为子模式,它就不会输出除数组中的2个空记录之外的任何东西。

preg_match_all("/<title>(.*)<\/title>/", $input_lines, $output_array);

preg_match_all("/\b\w{4,100}\b/", $input_lines, $output_array);

我使用以下文字和$ input_lines

<title>This is a big test</title>

1 个答案:

答案 0 :(得分:4)

这是一个两步操作。首先提取标题,然后得到单词。

if( preg_match("(<title>(.*?)</title>)i",$input_lines,$match)) {
    $title = $match[1];
    preg_match_all("/\w{4,}/",$title,$matches);
    $words = $matches[0];
}