Как получить текст внутри тега javascript с помощью PHP Simple HTML DOM Parser

пример :

<script>
var TEST = { "contextData" :
{id:01,title:one},{id:02,title:two},{id:03,title:three}}
</script>

как получить все титулы? используя PHP Simple HTML DOM Parser, я просто понятия не имею, как это сделать.


person Egi    schedule 02.04.2014    source источник
comment
Вы пробовали json_decode?   -  person Eddie    schedule 02.04.2014
comment
Это не совсем json. Это тоже не html, а это значит... используйте регулярное выражение.   -  person pguardiario    schedule 02.04.2014
comment
Не могли бы вы привести его пример?   -  person Egi    schedule 02.04.2014


Ответы (1)


Следующее не проверено, но должно работать:

  • Получите скрипт, используя $script = $html->find('script', 0);
  • Используйте следующий шаблон с preg_match_all, предложенный @ pguardiario, чтобы получить значение titles: /title\s*:\s*([^}]+)/

ДЕМО

ИЗМЕНИТЬ:

И чтобы получить все заголовки и описания (отличные от qwerty), измените шаблон на: /(title|desc)\s*:\s*(?!qwerty)([^},]+)/

ДЕМО

person Enissay    schedule 03.04.2014
comment
@Enisay: спасибо, это работа. как, если этот пример {id:01,title:one,desc:abc},{id:02,title:two,desc:cde},{id:03,title:three,desc:efg}} я хочу получить все название и описание? - person Egi; 04.04.2014
comment
вау, спасибо :) еще один пример, хе-хе {id:01,title:one,desc:qwerty},{id:02,title:two,desc:cde},{id:03,title:three,desc:efg}} я хочу получить все title и desc , но не desc qwerty ? - person Egi; 04.04.2014