php: вопрос простого dom-анализатора php

#php #dom #html-parsing

#php #dom #html-синтаксический анализ

Вопрос:

я использую php simple dom parser и обнаружил небольшую проблему:

когда селектор возвращает только один элемент, мне также нужно запустить для него цикл foreach. есть ли более простой способ сделать это?

Спасибо

Комментарии:

1. как в jQuery — когда вы получаете только один элемент, вы можете напрямую обращаться к нему по умолчанию.

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

3. все функции jQuery работают с мультимножеством, что означает, что им все равно, один это элемент или каждый отдельный элемент dom. Дайте нам тестовый пример того, чего вы пытаетесь достичь.

4. очень просто: <div class=widget><тип ввода = текстовое значение =bla></div> мой код: $ txt = $ ctl-> find(«ввод»); это всего лишь один элемент, но я не могу получить к нему доступ, как в jQuery, с помощью: echo $ txt-> value .. значит, мне нужно каждый раз запускать цикл foreach?

Ответ №1:

В руководстве говорится
find() , что второй параметр предназначен именно для этого:

смешанный поиск ( string $ selector [, int $ index] )

Найдите элементы с помощью селектора CSS. Возвращает объект N-го элемента, если задан индекс, в противном случае возвращает массив объектов.

Итак, в вашем случае,

 $txt = $ctl->find("input", 0); 
  

должно выполнить эту работу.

Ссылка на SimpleHTMLDOM API