Библиотека селектора CSS PHP? [закрытый]

На всякий случай, если вы используете хранилище переменной с использованием универсального типа, вы можете легко решить эту проблему, добавив метод getClassType следующим образом:

public class Constant<T> {
  private T value;

  @SuppressWarnings("unchecked")
  public Class<T> getClassType () {
    return ((Class<T>) value.getClass());
  }
}

Я использую предоставленный объект класса позже, чтобы проверить, экземпляр данного класса, следующим образом:

Constant<?> constant = ...;
if (constant.getClassType().equals(Integer.class)) {
    Constant<Integer> integerConstant = (Constant<Integer>)constant;
    Integer value = integerConstant.getValue();
    // ...
}
31
задан jjnguy 21 January 2009 в 21:16
поделиться

7 ответов

После поиска с помощью Google далее (начальные результаты не были очень полезны), кажется, что существует на самом деле библиотека Zend Framework для этого, вместе с некоторыми другими:

42
ответ дан 27 November 2019 в 21:52
поделиться

XPath является довольно стандартным способом получить доступ к XML (и XHTML) узлы и обеспечивает намного больше точности, чем CSS.

9
ответ дан 27 November 2019 в 21:52
поделиться

Для jQuery самые интересные пользователи могут быть порт jQuery к PHP, который является phpQuery. Почти все разделы библиотеки портированы. Дополнительно это содержит плагин WebBrowser, который может использоваться для сети, Очищающей путь/процессы целого сайта (например, получающей доступ к доступным данным после входа в систему). Это просто моделирует веб-браузер на сервере (события и cookie также). Последние версии имеют экспериментальную поддержку XML пространства имен и CSS3 " | " селектор .

5
ответ дан 27 November 2019 в 21:52
поделиться

Для парсинга документа я использую DOM. Это может довольно легко решить Вашу проблему, если Вы знаете имя тега (в этом примере "отделение"):

 $doc = new DOMDocument();
 $doc->loadHTML($html);

 $elements = $doc->getElementsByTagName("div");
 foreach ($elements as $e){
  if ($e->getAttribute("class")!="someclass") continue;

  //its a div.classname
 }

Не уверенный, если DOM позволяет Вам получить все элементы документа сразу..., Вам, возможно, придется сделать обход дерева.

2
ответ дан 27 November 2019 в 21:52
поделиться

Я написал свой, на основе механизма выбора CSS Mootools http: // selectors .svn.exyks.org / . он полагается на возможность расширения simplexml (поэтому он доступен только для чтения)

1
ответ дан 27 November 2019 в 21:52
поделиться

Еще один:
http://querypath.org/

6
ответ дан 27 November 2019 в 21:52
поделиться

Отличным является компонент symfony 2, CssSelector\ParserВведение. Он преобразует селекторы CSS в выражения XPath. Посмотрите =)

Исходный код

6
ответ дан 27 November 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: