Надо вынять урл из такой строки PHP: $page="<TD class=micro title=Canon i-SENSYS MF4018 align=left><A href=http://www.site.com/Canon-i-SENSYS-MF4018.htm>"; учитывая HTML: <TD class=micro title PHP: print $kilk_data=preg_match_all("/<TD class=micro title=\w+><A href=(.*)>/isU",$page,$data); дает 0 совпадений. В чем проблема?
вот еще вопросик HTML: <strong>289$</strong> как выдернуть 289 понятно, но $ мешает. делаю /<strong>(.*)\$</strong>/ не помагает
вот еще такая проблема PHP: preg_match_all("/<A href=\"(http:\/\/www\.site\.ua\/)?(.*)\"(.*)?\">/isU",$page,$url); не находит ничего. а если PHP: preg_match_all("/<A href=\"(.*)\"(.*)?\">/isU",$page,$url); выдает все урлы, что есть на странице почему не реагирует на PHP: (http:\/\/www\.site\.ua\/)? ?
Может так: preg_match_all("/<A href=\"(http:\/\/www\.site\.ua\/)(.*)?>/isU", '<a href="http://www.site.ua/url=1" >',$url); анти-пожиральщика после (.*) первого забыли. А нужны ли доп. параметры из ссылки?
кроме HTML: <a href="http://www.site.ua/url=1 есть и страници вида HTML: <a href="ur.htm PHP: preg_match_all("/<A href="(http:\/\/www\.site\.ua\/)?(.*)"(.*)?">/isU",$page,$url); должен выдергивать и те и другие так и делает, но выводит урлы http://www.site.ua/url=1 ur.htm хотя должен url=1 ur.htm или я не прав?
в PHP: /<A href=\"(http:\/\/(www\.)?site\.com\/)?[^http](.*)\"(.*)?\">/isU седает первый символ в PHP: $url[[b]3[/b]][$i] почему? что не правильно?
Sergey89 а как правильно сделать? надо выбрать урлы в которых есть или нет site.com и если нет site.com, то и не должно быть http
Просто выбери все адреса на странице и пробегись по ним циклом, а не мучайся с универсальной регуляркой
PHP: [^http] совпадает со всеми строками, в которых нет http или со строками, где нет символа h, но есть ttp? обясните! запутался уже.
Sergey89 нужна имено универсальная регулярка. почему PHP: /<A href=\"(http:\/\/(www\.)?site\.com\/)?[^http](.*)\"(.*)?\">/isU не правильно пашет? "Жрет" первый символ. Вроде все правильно