Из БД получаю такую строку
<div style=\"display: inline;\" id=\"news-id-3299\">
<div style=\"display: inline;\" id=\"news-id-3298\">
<p><strong>Год:</strong> 2013</p>
<p><strong>Страна:</strong><strong> </strong>США</p>
<p><strong>Слоган:</strong> «Яблоко от яблони»</p>
<p><strong>Режиссер:</strong> Джон Мур</p>
<p><strong>Сценарий:</strong> Скип Вудс, Родерик Торп</p>
<p><strong>Продюсер:</strong> Петер Веверка, Алекс Янг, Стивен Дж. Идс</p>
<p><strong>Оператор:</strong> Джонатан Села</p>
<p><strong>Композитор:</strong> Марко Белтрами</p>
<p><strong>Художник:</strong> Дэниэл Т. Доррэнс, Ник Бланш, Том Браун</p>
<p><strong>Монтаж:</strong> Дэн Зиммерман</p>
<p><strong>Жанр:</strong> боевик, триллер, криминал</p>
<p><strong>Бюджет: -</strong></p>
<p><strong>Премьера (мир):</strong> 7 февраля 2013</p>
<p><strong>Премьера (РФ):</strong> <span style=\"padding-right: 8px;\">14 февраля 2013</span></p>
<p><strong>Время:</strong> 97 мин. <span style=\"color: #999;\">/</span> 01:37</p>
<p><strong>В ролях:</strong><span> </span><span>Брюс Уиллис,</span> <span>Джей Кортни</span>, <span>Себастьян Кох</span>, <span>Мэри Элизабет Уинстэд,</span> <span>Юлия Снигирь,</span> <span>Радивойе Буквич,</span> <span>Коул Хаузер</span>, <span>Амори Ноласко</span>, <span>Сергей Колесников,</span> <span>Роман Лукнар</span><span> </span></p>
<p><strong>Сайт: </strong><a href=\"http://ru.diehardmovie.com/\">http://ru.diehardmovie.com/</a><strong>
</strong></p>
</div>
</div>
Мне нужно повыдергивать из нее например Время: 97 мин \ 01:37 и преобразовать в
<time>
97
</time>
и так почти с каждой строкой. Как это сделать? С помощью регулярных выражений?
$line = '<div style=\"display: inline;\" id=\"news-id-3299\">
<div style=\"display: inline;\" id=\"news-id-3298\">
<p><strong>Год:</strong> 2013</p>
<p><strong>Страна:</strong><strong> </strong>США</p>
<p><strong>Слоган:</strong> «Яблоко от яблони»</p>
<p><strong>Режиссер:</strong> Джон Мур</p>
<p><strong>Сценарий:</strong> Скип Вудс, Родерик Торп</p>
<p><strong>Продюсер:</strong> Петер Веверка, Алекс Янг, Стивен Дж. Идс</p>
<p><strong>Оператор:</strong> Джонатан Села</p>
<p><strong>Композитор:</strong> Марко Белтрами</p>
<p><strong>Художник:</strong> Дэниэл Т. Доррэнс, Ник Бланш, Том Браун</p>
<p><strong>Монтаж:</strong> Дэн Зиммерман</p>
<p><strong>Жанр:</strong> боевик, триллер, криминал</p>
<p><strong>Бюджет: -</strong></p>
<p><strong>Премьера (мир):</strong> 7 февраля 2013</p>
<p><strong>Премьера (РФ):</strong> <span style=\"padding-right: 8px;\">14 февраля 2013</span></p>
<p><strong>Время:</strong> 97 мин. <span style=\"color: #999;\">/</span> 01:37</p>
<p><strong>В ролях:</strong><span> </span><span>Брюс Уиллис,</span> <span>Джей Кортни</span>, <span>Себастьян Кох</span>, <span>Мэри Элизабет Уинстэд,</span> <span>Юлия Снигирь,</span> <span>Радивойе Буквич,</span> <span>Коул Хаузер</span>, <span>Амори Ноласко</span>, <span>Сергей Колесников,</span> <span>Роман Лукнар</span><span> </span></p>
<p><strong>Сайт: </strong><a href=\"http://ru.diehardmovie.com/\">http://ru.diehardmovie.com/</a><strong>
</strong></p>
</div>
</div>';
preg_match_all('|<[^>]+>(.*)</[^>]+>|', $line, $matches, PREG_SET_ORDER);
echo $matches[0][0];
//Результат <p><strong>Год:</strong> 2013</p>
//echo $matches[1][0]; Будет Страна США
//И так далее
Sergius, Мне бы еще вырезать все теги. Да и текст может немного менятся, а мне нужно вырезать из него только время (97)
Химик (06.03.2013 / 07:49)
Sergius, Мне бы еще вырезать все теги. Да и текст может немного менятся, а мне нужно вырезать из него только время (97)
Вырезать html теги можно родной функцией striptags
С тегами понятно, как теперь вытащить только время, строки с разной информацией и поэтому массивом не получится.
preg_match_all('|<[^>]+>Время
.*)</[^>]+>|', $line, $matches, PREG_SET_ORDER);
echo $matches[0][0];
//Результат <strong>Время:</strong> 97 мин. <span style=\"color: #999;\">/</span> 01:37</p>
Либо в коде из второго поста вывести четырнадцатое совпадение echo $matches[14][0];