Как обрабатывать двойные кавычки в строке перед оценкой XPath?Php

Кемеровские программисты php общаются здесь
Anonymous
Как обрабатывать двойные кавычки в строке перед оценкой XPath?

Сообщение Anonymous »

В функции ниже, когда String in $ Keyword содержит двойные кавычки, он создает "Warning: domxpath :: revaluate (): неверное выражение" < /em>: < /p>

$keyword = 'This is "causing" an error';
$xPath->evaluate('boolean(//img[contains(@alt, "'.$keyword.'")])');
< /code>

Что я должен сделать, чтобы подготовить $ Keyword < /code> для оценки выражения XPath? < /p>

Полный код функции: < /p>

$keyword = trim(strtolower(rseo_getKeyword($post)));

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


Подробнее здесь: https://stackoverflow.com/questions/482 ... evaluation

Вернуться в «Php»