如何获取带有文本的url的xpath?

时间:2017-07-27 16:45:43

标签: php html xpath

我有以下例子。我想使用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>

2 个答案:

答案 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