2014-09-04 55 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