DOMXPath::query(): 无效表达式
DOMXPath::query(): Invalid expression
我在 class 中有此代码:
...
$document = new DOMDocument( '1.0', 'utf-8');
$document->preserveWhiteSpace = false;
$content = mb_convert_encoding($content, 'HTML-ENTITIES', 'utf-8'); //this fix problems with cyrilic text
if ( !@$document->loadHtml( $content ) )
return false;
$xpath = new DOMXpath( $document );
$node_list = $xpath->query( $this->target->query_name() ); // getting warning here
...
query_name方法的代码(位于其他class和文件中)是:
public function query_name( $if_arg_needed = "" ){
return "//*/*[@class=\'product_name\']";
}
包含我的 classes 的两个文件都是 utf-8。
为什么我收到警告:
警告:DOMXPath::query():...
中的无效表达式
这段代码工作正常:
...
$xpath = new DOMXpath( $document );
$tempStr = "//*/*[@class=\'product_name\']";
$node_list = $xpath->query( $tempStr );
你应该像这样设置 xpath:
$tempStr = "//*[@class='product_name']";
或
$tempStr = '//*[@class="product_name"]';
我在 class 中有此代码:
...
$document = new DOMDocument( '1.0', 'utf-8');
$document->preserveWhiteSpace = false;
$content = mb_convert_encoding($content, 'HTML-ENTITIES', 'utf-8'); //this fix problems with cyrilic text
if ( !@$document->loadHtml( $content ) )
return false;
$xpath = new DOMXpath( $document );
$node_list = $xpath->query( $this->target->query_name() ); // getting warning here
...
query_name方法的代码(位于其他class和文件中)是:
public function query_name( $if_arg_needed = "" ){
return "//*/*[@class=\'product_name\']";
}
包含我的 classes 的两个文件都是 utf-8。 为什么我收到警告: 警告:DOMXPath::query():...
中的无效表达式这段代码工作正常:
...
$xpath = new DOMXpath( $document );
$tempStr = "//*/*[@class=\'product_name\']";
$node_list = $xpath->query( $tempStr );
你应该像这样设置 xpath:
$tempStr = "//*[@class='product_name']";
或
$tempStr = '//*[@class="product_name"]';