所以我一直在尝试使用一些正则表达式从<a href='#' >HTML a tag</a>
, 中提取信息,以获得可能的标签的三个独立模式。
<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))
{
}