Запрос DomXPath для выбора ссылок, которые не содержат "mailto" - PullRequest
1 голос
/ 04 ноября 2011

Я попытался получить все ссылки, кроме тех, которые содержат «mailto».Я пробовал миллионы разных вещей, но ничего не получается.Моя лучшая попытка была //a[@href(not(contaıns('maılto')))], но она тоже не сработала.Я также пытался получить все ссылки с // a, а затем с $domelement->getAttribute('href'), но он возвращает href = 'mailto: x@x.com' как x@x.com, а не с 'mailto'.Он автоматически вырезает часть mailto, я не знаю почему.У кого-нибудь есть опыт по этому поводу?

Спасибо.

1 Ответ

1 голос
/ 04 ноября 2011

Вы были на правильном пути, используя not() и contains(), однако ваш синтаксис неправильный (также я бы использовал starts-with() вместо).

//a[not(starts-with(@href, 'mailto'))]

См. http://www.w3.org/TR/xpath/#function-starts-with

...