[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по preg_match
kollega
У меня есть в переменной html:
<div class="pos_rel" style="z-index:20">
<table
cellspacing=0 cellpadding=0 class="w0 mr10 mb5" align="left">
<tr
valign=top>
<td
align="center" colspan="4">
<div
id="programm_photo"><img src="/pic/gallery/s/s6ZdB0Ff2gtHt0LwHI4J3w.jpg" id="tvcadr_pic" width="300" alt="" border=0 class="mb2"></div>
</td>
</tr>
<tr>
<td
colspan="3" class="t70 grey pb3">фото</td>
</tr>
<tr
valign=middle>
<td><a
href="#" class="photo_left">предыдущие</a></td>
<td
id="tvcadr_list" align="left">
<a
class="active" href="#"><img src="/pic/gallery/s/s6ZdB0Ff2gtHt0LwHI4J3w.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
<a
href="#"><img src="/pic/gallery/i/IyUIW5gM-co-EDTo0tlABg.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
<a
href="#"><img src="/pic/gallery/z/ZwqFQqjY6tZEDDtqXT8cCQ.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
</td>
<td><a
href="#" class="photo_right">следующие</a></td>
</tr>
</table>
</div>

Мне необходимо содержимое
<div id="programm_photo">...</div>
занести в отдельную переменную. Я делаю вот так:
preg_match('|<div\sid="programm_photo">.+</div>|Usix', $html, $regs);
$text = $regs[1];
echo $text;

Но у меня ничего не получается. Чего я не так делаю?



Спустя 17 минут, 21 секунда (20.05.2011 - 19:46) alex12060 написал(а):

preg_match("/<div id=\"programm_photo\">(.*?)<\/div>/ius", $text, $regs);

var_dump($regs);

Спустя 5 минут, 43 секунды (20.05.2011 - 19:52) kollega написал(а):
НЕ РАБОТАЕТ

        $html='<div class="pos_rel" style="z-index:20">
<table cellspacing=0 cellpadding=0 class="w0 mr10 mb5" align="left">
<tr valign=top>
<td align="center" colspan="4">
<div id="programm_photo"><img src="/pic/gallery/s/s6ZdB0Ff2gtHt0LwHI4J3w.jpg" id="tvcadr_pic" width="300" alt="" border=0 class="mb2"></div>
</td>
</tr>
<tr>
<td colspan="3" class="t70 grey pb3">фото</td>
</tr>
<tr valign=middle>
<td><a href="#" class="photo_left">предыдущие</a></td>
<td id="tvcadr_list" align="left">
<a class="active" href="#"><img src="/pic/gallery/s/s6ZdB0Ff2gtHt0LwHI4J3w.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
<a href="#"><img src="/pic/gallery/i/IyUIW5gM-co-EDTo0tlABg.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
<a href="#"><img src="/pic/gallery/z/ZwqFQqjY6tZEDDtqXT8cCQ.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
</td>
<td><a href="#" class="photo_right">следующие</a></td>
</tr>
</table>
</div>'
;
preg_match('|<div\sid="programm_photo">(*?)<\/div>|ius', $html, $regs);
$text = $regs[1];
echo $text;

Спустя 18 минут, 19 секунд (20.05.2011 - 20:10) alex12060 написал(а):
Я исправил свой пост. Смотри.

Спустя 5 минут, 53 секунды (20.05.2011 - 20:16) kollega написал(а):
Не работает. выдает: array(0) { }

Спустя 1 минута, 32 секунды (20.05.2011 - 20:18) alex12060 написал(а):
Какая кодировка?
Если не UTF-8, то убери модификатор u

Спустя 53 секунды (20.05.2011 - 20:19) Winston написал(а):
Вот
Свернутый текст
$html='<div class="pos_rel" style="z-index:20">
<table cellspacing=0 cellpadding=0 class="w0 mr10 mb5" align="left">
<tr valign=top>
<td align="center" colspan="4">
<div id="programm_photo"><img src="/pic/gallery/s/s6ZdB0Ff2gtHt0LwHI4J3w.jpg" id="tvcadr_pic" width="300" alt="" border=0 class="mb2"></div>
</td>
</tr>
<tr>
<td colspan="3" class="t70 grey pb3">фото</td>
</tr>
<tr valign=middle>
<td><a href="#" class="photo_left">предыдущие</a></td>
<td id="tvcadr_list" align="left">
<a class="active" href="#"><img src="/pic/gallery/s/s6ZdB0Ff2gtHt0LwHI4J3w.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
<a href="#"><img src="/pic/gallery/i/IyUIW5gM-co-EDTo0tlABg.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
<a href="#"><img src="/pic/gallery/z/ZwqFQqjY6tZEDDtqXT8cCQ.jpg" height="62" alt="Увеличить" title="Увеличить"></a>
</td>
<td><a href="#" class="photo_right">следующие</a></td>
</tr>
</table>
</div>'
;

preg_match("/<div id=(\"|')programm_photo\\1>(.*)<\/div>/iu", $html, $matches);
echo $matches[2];

Спустя 1 минута, 50 секунд (20.05.2011 - 20:20) Winston написал(а):
kollega
Код alex12060 тоже рабочий

Спустя 3 минуты, 49 секунд (20.05.2011 - 20:24) kollega написал(а):
Заработало!!!!
preg_match("/<div id=(\"|')programm_photo\\1>(.*)<\/div>/i", $html, $matches);

Я как понимаю, это регулярные выражения? Где можно про них почитать. Посоветуйте литературку.

Спустя 2 минуты, 42 секунды (20.05.2011 - 20:27) Winston написал(а):
Можешь здесь кратко почитать.
А можешь книжку скачать там очень подробно разжевано про них.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.