我有以下例子。我想使用xpath从下面提取url。网址不断变化,但文字&#34;网址&#34;和div类在整个过程中是一样的。是否可以从文本中提取网址&#34; Url&#34;并且文字网址在<a>
<div class="Dataset">
"data1 : value1"
<br>
"data2: value2"
<br>
"Url :"
<a href="http://somechangingurl.com"/>
<br>
"data3: value3"
<br>
"data4: value4"
</div>
答案 0 :(得分:0)
虽然我认为xpath是获取URL的好方法,因为你想要前面的文本,我会选择正则表达式:
$re = '/"(.+)"\s+<a href="(.+)"/';
$str = '<div class="Dataset">
"data1 : value1"
<br>
"data2: value2"
<br>
"Url :"
<a href="http://somechangingurl.com"/>
<br>
"data3: value3"
<br>
"data4: value4"
</div>';
preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0);
// Print the entire match result
var_dump($matches);
答案 1 :(得分:0)
我自己解决了。以下是我的所作所为。
//div[@class="Dataset"]/text()[contains(.,'Url :')]/following-sibling::a/@href