Когда строка ввода моего ключевого слова $ в функции ниже содержит двойные кавычки ...
'это "тест", например "
Я получаю эту ошибку:
Предупреждение: 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;
}