试图在页面上找到链接。
我的正则表达式是:
/<a\s[^>]*href=(\"\'??)([^\"\' >]*?)[^>]*>(.*)<\/a>/
但似乎失败了
<a title="this" href="that">what?</a>
我该如何更改我的正则表达式以处理未置于a标签首位的href?
可靠的HTML正则表达式很困难。这是使用DOM的方法:
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('a') as $node) {
echo $dom->saveHtml($node), PHP_EOL;
}
上面将找到并输出字符串中所有元素的“outerHTML”。A``$html
要 获取 节点的所有文本值,请执行以下操作
echo $node->nodeValue;
要 检查 是否href
属性存在,你可以做
echo $node->hasAttribute( 'href' );
为了 获得 该href
你做的属性
echo $node->getAttribute( 'href' );
要 更改 的href
属性,你会怎么做
$node->setAttribute('href', 'something else');
要 删除 的href
,你会怎么做属性
$node->removeAttribute('href');
您也可以href
直接使用XPath查询属性
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//a/@href');
foreach($nodes as $href) {
echo $href->nodeValue; // echo current attribute value
$href->nodeValue = 'new value'; // set new attribute value
$href->parentNode->removeAttribute('href'); // remove attribute
}
问题内容: 所以我有一个这样的HTML字符串: 使用XPath,我可以使用以下Xpath查询来获取href属性的值: 而且,获得文本值甚至更容易,如下所示: 现在,我很想知道,我如何才能将这两个查询组合在一起而只用一个查询来获得两个值(如果这甚至是可能的话?)。 问题答案: 取 然后使用选中文本,使用选中属性。 除此之外,您可以将Xpath查询与Union Operator结合使用,从而可以使用
我需要点击下面的href元素,它存在于类似的href元素中。 有人能给我提供xpath来点击上面的href链接吗?提前谢谢你的帮助
<a>元素用来设置链接。除了网页元素的通用接口(Node接口、Element接口、HTMLElement接口),它还继承了HTMLAnchorElement接口和HTMLHyperlinkElementUtils接口。 属性 URL 相关属性 <a>元素有一系列 URL 相关属性,可以用来操作链接地址。这些属性的含义,可以参见Location对象的实例属性。 hash:片段识别符(以#开头) ho
我正在使用JSoup,这是纯Java中的一个HTML解析器库,从互联网上提取和解析纯HTML页面(当然,只有很少的JS)。到目前为止,如果我想要刮取的数据附加到非常详细的HTML元素(如
链接是万维网的命脉,如果没有链接,每个页面都只能孤立地存在,同其他页面完全分开。通过链接,可以建立同其他网页或网站之间的连接,可以不夸张的讲,没有链接,就没有万维网。 在网页中,通过链接来指向一个目标,这个目标可以是网页、网页中的具体位置、图像、邮件地址、文件、FTP地址等,甚至是一个应用程序。 链接可以是一个字、一个词、一组词、一幅图像,点击这些内容会跳转到新的文档或当前文档的某个具体位置。一般
问题内容: 如何获得元素属性值? 例如HTML元素: JS: 非常感谢任何建议,请在此处进行JSFIDDLE演示:http : //jsfiddle.net/h3TFy/ 问题答案: 由于要将目标元素发送到函数,因此可以执行以下操作以获取ID: