Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с рег выражением.......пожалуйста
 
 автор: Zhdesigner   (14.01.2010 в 16:00)   письмо автору
 
 

из текста
txt="<div class="item">
<div class="date">
<div class="date_right">9.9.2009</div>
</div>
<h2><a href="/programs/4195.html">Local Website Archive 3.1.1</a></h2>
<a href="/programs/4195.html"><img alt="Local Website Archive 3.1.1" src="/files/4/4195/screen/small/Local_Website_Archive.gif" width="100" height="75" class="pic" /></a>
<p>  Local Website Archive – программа для архивирования целых веб-сайтов для последующего просмотра их с жесткого диска. Утилита поддерживает работу со всеми современными браузерами.<br /> <br /><br />
<br /></p>
<div class="details_item">[<span>2983 кб</span>, <a href="javascript:void(null);" id="podsk14" style="text-decoration:none; color:#666666;" title="Программа распространяется бесплатно">FREEWARE</a>, Браузеры, <b>NEW</b>]</div>
</div>"
рег выражение чтоб это находилось:

preg_match_all('!<div\+class="item">(.*?)<a href="javascript:void.*?Браузеры\s+?<b>\s+?</div>.*?</div>">!mis', $txt, $news, PREG_PATTERN_ORDER);

не вижу в чем ошибка но оно никак ничего не находит. ...... помогите у кого зрение получше.

  Ответить  
 
 автор: heed   (14.01.2010 в 16:15)   письмо автору
 
   для: Zhdesigner   (14.01.2010 в 16:00)
 

> preg_match_all('!<div\+class

как-будто имелось ввиду <div\s+class

а так можно более-менее правильно скопировать текст чтобы рассмотреть
если в теги [ code ] его вставить

//
>!mis
m вроде не нужен

  Ответить  
 
 автор: Zhdesigner   (14.01.2010 в 16:20)   письмо автору
 
   для: heed   (14.01.2010 в 16:15)
 

preg_match_all('!<div\s+class="item">(.*?)<a href="javascript:void.*?Браузеры\s+?<b>\s+?</div>.*?</div>">!mis', $text1, $news, PREG_PATTERN_ORDER);
вот это он не находит

  Ответить  
 
 автор: Zhdesigner   (14.01.2010 в 16:23)   письмо автору
 
   для: Zhdesigner   (14.01.2010 в 16:20)
 

preg_match_all('!<div\s+?class="item">(.*?)<a href="javascript:void.*?Браузеры\s+?<b>\s+?</div>.*?</div>!is', $text1, $news, PREG_PATTERN_ORDER);
мадификаторы не влиют... сыефвлю is ...результат тот же

  Ответить  
 
 автор: heed   (14.01.2010 в 16:57)   письмо автору
 
   для: Zhdesigner   (14.01.2010 в 16:23)
 

я не понял для чего может быть нужно выбирать всю строку из неё самой
, или если нужно только (.*?) , зачем выбирать то что после этого

, но если переделать парочку \s на точки
<?php
header
('Content-type: text/plain; charset=cp1251');
$txt='<div class="item">
                        <div class="date">
                            <div class="date_right">9.9.2009</div>
                        </div>
                        <h2><a href="/programs/4195.html">Local Website Archive  3.1.1</a></h2>
                        <a href="/programs/4195.html"><img alt="Local Website Archive  3.1.1" src="/files/4/4195/screen/small/Local_Website_Archive.gif" width="100" height="75" class="pic" /></a>
                        <p>  Local Website Archive – программа для архивирования целых веб-сайтов для последующего просмотра их с жесткого диска. Утилита поддерживает работу со всеми современными браузерами.<br /> <br /><br />
                                                 <br /></p>
                        <div class="details_item">[<span>2983 кб</span>, <a href="javascript:void(null);" id="podsk14" style="text-decoration:none; color:#666666;" title="Программа распространяется бесплатно">FREEWARE</a>, Браузеры, <b>NEW</b>]</div>
                    </div>'
;

preg_match_all('!<div\s+class="item">(.*?)<a href="javascript:void.*?Браузеры.+?<b>.+?</div>.*?</div>!mis'$txt$newsPREG_PATTERN_ORDER);
print_r($news);
?>

  Ответить  
 
 автор: big-trot   (14.01.2010 в 22:36)   письмо автору
 
   для: Zhdesigner   (14.01.2010 в 16:23)
 

Вы сами понимает что вы хотите найти?
Крайне не эффективное выражение, очень много возвратов.
Попытайтесь на словах сформулировать требования к результату или при каких условий должно произойти совпадение.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования