Я использую следующий запрос XPath:
$var = '';
$search = $selector->query('//td[text() = "text"]/following-sibling::td')->item(0);
Как использовать $ вар вместо "текст"?
запроса ('// тд [текст() = $ вар]
Я использую следующий запрос XPath:
$var = '';
$search = $selector->query('//td[text() = "text"]/following-sibling::td')->item(0);
Как использовать $ вар вместо "текст"?
запроса ('// тд [текст() = $ вар]
Не знаю, какой язык, который, при условии .
как оператор инфикс Concat:
$search = $selector->query('//td[text() = "'.$var.'"]/following-sibling::td');
Update:
Как указал Чарльз Даффи, данное решение имеет недостатки. Предостережение: этот раздел является непроверенным кодом, разработанным исключительно в соответствии с документами php (а именно this one). Не стесняйтесь улучшать/удалять.
$var = '';
function get_var() {
// Return variable $var
return $var;
}
$selector->registerPHPFunctions("get_var");
$search = $selector->query('//td[text() = php:function("get_var")]/following-sibling::td');
это сработало, THX !! – ronx
Большинство двигателей XPath имеют надлежащую поддержку внеполосных переменных, которые не подвержены риску запроса (например, этот ответ). Таким образом, это субоптимально, как правильность, так и безопасность - это эквивалент XPath таблиц Bobby (предоставлено, в XPath нет операции DROP TABLE, но все еще можно ввести код, который изменяет запрос, чтобы выбрать информацию, которую пользователь не должен видеть). –
Я нахожу работу с XPath намного проще в JavaScript. Может не соответствовать тому, что вам нужно сегодня, но хорошо знать в будущем. https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript – getglad
Какой язык программирования и конкретная библиотека XPath вы используете? Лучшее решение может быть доступно, если предоставить данные; существующий не будет работать, если, например, заменяемый текст включает буквенные двойные кавычки. –