這是我正在使用的正則表達式。它工作正常,但現在我試圖得到結果。當發現匹配時獲取數組的其他部分
基本上,如果名稱/屬性/ etc包含「標題」,我希望它回顯標題元標記的內容。
換句話說,當out [1]包含「title」(不區分大小寫)時,我想要相應的out [2],而不是out [1]。
$pattern = '
~<\s*meta\s
# using lookahead to capture type to $1
(?=[^>]*?
\b(?:name|property|http-equiv)\s*=\s*
(?|"\s*([^"]*?)\s*"|\'\s*([^\']*?)\s*\'|
([^"\'>]*?)(?=\s*/?\s*>|\s\w+\s*=))
)
# capture content to $2
[^>]*?\bcontent\s*=\s*
(?|"\s*([^"]*?)\s*"|\'\s*([^\']*?)\s*\'|
([^"\'>]*?)(?=\s*/?\s*>|\s\w+\s*=))
[^>]*>
~ix';
if(preg_match_all($pattern, $link_html, $out))
{
foreach ($out[1] as $out)
{
echo $out.'<br>';
}
}
爲什麼不使用html解析器呢? – Gordon