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"]';