<a href='#' >HTML a tag</a>
そのため、可能なタグの 3 つの個別のスキーマについて、いくつかの正規表現を使用して から情報を抽出しようとしました。
<a id="Anchor_One" name="Anchor_One"> Anchor Details </a>
<a href="#Anchor_Two" name="Anchor_Two" > Anchor Two Details </a>
<a name="Anchor_Three" > Anchor Three Details </a>
これまでのところ、特定の HTML タグからすべての属性を抽出する正規表現がいくつかあります/(\\w+)\s*=\\s*("[^"]*"|\'[^\']*\'|[^"\'\\s>]*)/
。href
また、リンクを属性 activeと一致させるための正規表現もあります/<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU
。しかし、リンクタグが持つ可能性のある他の組み合わせに一致するパターンを作成できないようです。
<a id="Anchor_One" name="Anchor_One"> Anchor Details </a>
<a name="Anchor_Three" > Anchor Three Details </a>
属性が設定されていないリンクはhref
、現在のパターンでは取得されないため、すべてのアンカーを取得できるわけではありません。
$regexp = '/<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU';
//parse the page with the provided regular expression
if(preg_match_all($regexp, $sessionBlock, $htmlMatches))
{
}