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

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

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

 

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

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

тема: Все (точка) как правельно будет
 
 автор: ntro123   (20.10.2010 в 19:57)   письмо автору
 
 

Здравствуйте.

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

и теперь если написать что-то вроеде"#<div class=\"long_link\">.{0,}href=\"([^\"]{0,})\"#i"

а в строке будет 2 или более href он выташит значения не первого попашегося href, а последнего.

Вот код:

$cont='<div class="long_link">
                <a href="http://super.ru" title="http://super.ru -- откроется в новом окне" target="_blank">super.ru</a>
            </div>
            <div class="long_link_hidder hidder_gray">&nbsp;</div>
        </div>
    <div class="fs10"><a href="http://123sdfsdfsdfsd.ru/r.html?r=http%3A%2F%2Fwww.google.ru%2Fsearch%3Fq%3D456%26hl%3Dru" target="_blank" class="f10 color_google" title="">G</a>&nbsp;&nbsp; &nbsp;<a href="http://123sdfsdfsdfsd.ru/r.html?r=http%3A%2F%2Fyandex.ru%2Fyandsearch%3Ftext%3D456%26lr%3D1" target="_blank" class="f10 color_yandex" title="">Я</a>&nbsp;<span style="color:#646464">n/a</span>&nbsp;<a href="#"><img src="//static.sape.ru/www/img/history_yg.gif" alt="" class="img_button" style="vertical-align:top;margin-top:2px" onclick="show_modal(\'/ajax.php?act=get_position_history&url_id=14703122\',null,{title:\'История изменения позиций\'}); return false;" title="История изменения"></a>&nbsp;<span title="Ключевое слово">456</span></div></td><td class="ca"><a href="/project_packet.php?link_id=14703122" title="Ручной режим работы"><img src="//static.sape.ru/www/img/icon_url_hand.gif"></a></td><td class="ra"><strong>0,00</strong></td><td class="ra">0,00</td><td class="ra">0,00</td><td class="ra">0,00</td><td class="ra"><a href="/links.php?act=s_texts&link_id=14703122&project_id=715945&mode=placed">0</a>';

$cont=preg_replace("#\r\n#i", "", $cont);


preg_match_all("#<div class=\"long_link\">.{0,}href=\"([^\"]{0,})\"#i", $cont, $ttt);
print_r($ttt);


По идеи должен вывести http://super.ru - это значение первого href в тексте.
но выводит /links.php?act=s_texts&link_id=14703122&project_id=715945&mode=placed

как быть?

Буду благодарен если ктонибудь подскажет как обозначить все кроме как точкой т.к. см. выше проблему и кроме кривого метода типа [^\*]{0,} - т.е. все кроме звездочки которой не должно быть ... это не есть гуд.

Спасибо.

  Ответить  
 
 автор: .....   (22.10.2010 в 17:10)
 
   для: ntro123   (20.10.2010 в 19:57)
 

>точкой. но тогжа будет не все
http://softtime.ru/dic/id_dic=133&id_group=3

>как обозначить все кроме как точкой
http://softtime.ru/dic/id_dic=134&id_group=3

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

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