SimpleHTMLDom не использует строковые литералы в кавычках в селекторе. Это просто elem[attr=value]
. И сравнение значение кажется чувствительным к регистру (может быть способ сделать его нечувствительным к регистру, но я не знаю) *
* 1006 Е.Г. *
require 'simple_html_dom.php';
$html = file_get_html('http://www.google.com/');
// most likely one one element but foreach doesn't hurt
foreach( $html->find('meta[http-equiv=content-type]') as $ct ) {
echo $ct->content, "\n";
}
отпечатков text/html; charset=ISO-8859-1
.
* edit: да, есть способ выполнить регистронезависимое соответствие, используйте *=
вместо =
find('meta[http-equiv*=content-type]')
edit2: кстати, http-equiv*=content-type
thingy также будет соответствовать <meta http-equiv="haha-no-content-types"...
(он только проверяет, находится ли строка где-то в значении атрибута). Но это единственная нечувствительная к регистру функция / оператор, которую я смог найти. Я думаю, вы можете жить с этим в этом случае; -)
редактировать 3: он использует preg_match ('... / i') и шаблон / селектор напрямую передается этой функции. Поэтому вы могли бы сделать что-то вроде http-equiv*=^content-type$
, чтобы соответствовать http-equiv="Content-type"
, но не http-equiv="xyzContent-typeabc"
. Но я не знаю, является ли это гарантированной функцией.