2017-07-27 53 views
0

我有下面的例子。我想使用xpath從下面提取網址。網址不斷變化,但文字「Url」和div類始終是相同的。是否有可能從只是文本「URL」和文字網址提取URL超出<a>如何獲得帶有旁邊文本的URL的xpath?

<div class="Dataset"> 
"data1 : value1" 
<br> 
"data2: value2" 
<br> 
    "Url :" 
    <a href="http://somechangingurl.com"/> 
<br> 
"data3: value3" 
<br> 
"data4: value4" 
</div> 
+0

你可以使用正則表達式來得到結果。 – Webinion

+0

在網上找到一塊蛋糕..這裏是一個很好的[示例](https://stackoverflow.com/questions/21455349/xpath-query-get-attribute-href-from-a-tag)。 – Yolo

回答

0

我解決它自己。以下是我所做的。

//div[@class="Dataset"]/text()[contains(.,'Url :')]/following-sibling::a/@href 
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);