2014-09-04 54 views
0

我不能让一个子模式工作正则表达式PHP子模式

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

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

如果我尝试下面的表达式,他们都工作。但尽快我想把最后一个作为一个子模式,它不会输出任何内容,只能在数组中输出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> 

回答

4

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

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

@true谢谢你是我的......呃......“爆发控制器”XD – 2014-09-04 18:14:35

+0

你是英雄!希望能够一步到位,但看起来不可能。谢谢 – Jos 2014-09-04 18:28:06