|
|
|
| Здравствуйте.
Проблема заключается в том что.
я незнаю как обозначить все, кроме как точкой. но тогжа будет не все, а все кроме новой строки. поэтому вырезал новую строку.
и теперь если написать что-то вроеде"#<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"> </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> <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> <span style="color:#646464">n/a</span> <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> <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 | |
|
|
|