如何才能register
PHP
功能XPATH
?因爲XPATH
不允許我使用ends-with()
如何在XPath中註冊PHP函數?
以下是一個成員給出的solutions,但它不起作用。
的代碼,他採用的是:
$xpath = new DOMXPath($document);
$xpath->registerNamespace("php", "http://php.net/xpath");
$xpath->registerPHPFunctions("ends_with");
$nodes = $x->query("//tr[/td/a/img[php:function('ends-with',@id,'_imgProductImage')]"
function ends_with($node, $value){
return substr($node[0]->nodeValue,-strlen($value))==$value;
}
我使用PHP 5.3.9。
它是'ends_with'還是'ends-with'。函數名稱中有一個連字符 – gwillie
您的問題標題有很多誤導。請在(錯誤)答案下留下評論。只要你有這個具體問題,請從那裏使用http://stackoverflow.com/a/5435487/367456。如果你堅持提出這個問題,請在你的問題中創建一個自包含的工作示例代碼。您目前發佈的代碼無法以當前表單執行。 – hakre
你在PHP手冊中也提到了你所要求的:http://php.net/domxpath.registerphpfunctions - 所以你可能應該更清楚你的具體編程問題在這裏。還是僅僅是你偶然發現一個非工作的答案?如果是這樣,只是downvote非工作的答案(或糾正它)。 – hakre