Предупреждение: DOMXPath ::valu () [domxpath.evaluate]: неверное выражение - PullRequest
0 голосов
/ 08 марта 2011

Когда строка ввода моего ключевого слова $ в функции ниже содержит двойные кавычки ...

'это "тест", например "

Я получаю эту ошибку:

Предупреждение: DOMXPath ::valu () [domxpath.evaluate]: неверно выражение

Это происходит в строке чуть ниже той, которая прокомментирована ниже "ОШИБКИ ПРОЦЕССА" в методе xpath- >valu.

function my_function($heading, $post){
    $content = $post->post_content;
    if($content=="" || !class_exists('DOMDocument')) return false;
    $keyword = trim(strtolower(my_getKeyword($post)));
    @$dom = new DOMDocument;
    @$dom->loadHTML(strtolower($post->post_content));
    $xPath = new DOMXPath(@$dom);
    switch ($heading)
        {//ERROR OCCURS
        case "img-alt": return $xPath->evaluate('boolean(//img[contains(@alt, "'.$keyword.'")])');
        default: return $xPath->evaluate('boolean(/html/body//'.$heading.'[contains(.,"'.$keyword.'")])');
        }
}


function my_getKeyword($post)
{
    $myKeyword = get_post_meta($post->ID, '_my_keyword', true);

    if($myKeyword == "") $myKeyword = $post->post_title;

    return " ".$myKeyword;
}
...