Решил сделать тв-программу для сайта, возник замут с регулярным выражением.
Есть кусок кода
<ul id="leftlist_10"><li><strong>07:00</strong><div>ОНТ представляет: "Воскресное утро"</div></li><li><strong>08:00</strong><div>Наши новости</div></li><li><strong>09:00</strong><div>Наши новости</div></li><li><strong>09:05</strong><div>Воскресная проповедь</div></li><li><strong>09:20</strong><div>Сергей Жигунов, Анастасия Заворотнюк в комедийном сериале "Моя прекрасная няня". Амедия (Россия) при участии Сони Пикчерс (США), 2004 год</div></li><li><strong>09:55</strong><div>Непутевые заметки</div></li><li><strong>10:15</strong><div>Пока все дома</div></li><li><strong>11:10</strong><div>Фазенда</div></li><li><strong>11:50</strong><div>Утренняя почта</div></li><li><strong>12:25</strong><div>Счастье есть!</div></li><li><strong>13:15</strong><div>Тележурнал "Союз"</div></li><li><strong>13:45</strong><div>Виктор Павлов. Судьба меня хранить устала</div></li></ul>
Из него нужно вырезать время и название передачи. Со временем проблем не возникло, а вот с названием передачи сложнее. Так как в названии передачи могут присутствовать и русские и латинские буквы и цифры и знаки препинания, то сложно нормальную маску задать. Если делаю так (часть регулярки для поиска времени опустил):
preg_match_all("/<div>(.+)<\/div>/", $v, $out_arr2);
то в итоге получаю весь код между первым и последним дивом… Делаю вот так:
preg_match_all("/<div>(\D+)<\/div>/", $v, $out_arr2);
Получаю так как должно быть, но … \D - это всё, кроме чисел и я так понимаю, что если в названии передачи будет цифра, то выйдет лажа. Помогите плиз разрешить проблему, вроде как просто должно быть, но у меня уже мозг кипит.