Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > вырезать из html все внутри span


Автор: oppo 25.10.2011, 10:55
задача вырезать из html следующий код и перенести его в другое место
Код

<span class="c-excursion_head-item c-excursion_head-item-3"><b class="g-bg"></b>начало:<span>30 Октября, 15:30</span>
    <span>13 Ноября, 15:30</span>
        <span>27 Ноября, 11:00</span>
</span>


Использую регулярку
Код

$cexcursion = preg_match('#<span class="c-excursion_head-item c-excursion_head-item-3">.+<\/span>#',$str, $cmatch );

все хорошо когда внутри <span class="c-excursion_head-item c-excursion_head-item-3"> был один <span>30 Октября,15:30</span>
теперь, когда добавлись даты <span>13 Ноября, 15:30</span><span>27 Ноября, 11:00</span>
по прежнему вырезается ТОЛЬКО первый <span>30 Октября, 15:30</span>
Подскажите , спасибо 

Автор: ayax2005 25.10.2011, 13:28
http://php.su/functions/?preg_match

mixed preg_match ( string pattern, string subject [, array &matches [, int flags [, int offset]]] )

Ищет в заданном тексте subject совпадения с шаблоном pattern

В случае, если дополнительный параметр matches указан, он будет заполнен результатами поиска. Элемент $matches[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $matches[1] - часть строки, соответствующую первой подмаске, и так далее. 

Автор: $дмитрий 25.10.2011, 14:47
Замени на
Код

$cexcursion = preg_match('#<span class="c-excursion_head-item c-excursion_head-item-3">.+<\/span>#s',$str, $cmatch );

Автор: oppo 25.10.2011, 17:52
Цитата($дмитрий @ 25.10.2011,  14:47)
Замени на
Код

$cexcursion = preg_match('#<span class="c-excursion_head-item c-excursion_head-item-3">.+<\/span>#s',$str, $cmatch );


пробую ..
$дмитрий, ayax2005 - спасибо получилось заодно и подчитал доки 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)