PHP: RewriteEngine On RewriteBase / RewriteRule ^ index.php RewriteRule ^(.*)/(.*)/ index.php?t=$1&f=$2 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^.]+)$ /index.php Вроде немного начал работать... А как сделать если допустим f=123/asd Он такое не воспринимает...
Пиплы! Захотелось вот написать парсер ящиков от mail.ru(возможно,и других,но пока хватает и этого) Вроде всё норм,но когда вот дохожу до количества писем,обламываюсь регуляркой: PHP: <?php $i = 0; $ch = curl_init(); $url = "http://xhtml.wap.mail.ru/cgi-bin/auth?rand=3512944353"; $url1 = "http://xhtml.wap.mail.ru/cgi-bin/msglist?folder=0"; $url2 = "http://xhtml.wap.mail.ru/cgi-bin/start"; $req = "Login=welya.icq&Domain=mail.ru&Password=ko4ka&page=&submit=Вход"; $ua = "IE 6.0"; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_USERAGENT,$ua); curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie"); curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie"); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$req); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $res = curl_exec($ch); curl_close($ch); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url1); curl_setopt($ch,CURLOPT_USERAGENT,$ua); curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie"); curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $res = curl_exec($ch); if(preg_match_all("|<a class=\"lnk_b\" href=\"(.*)\">(.*)</a><br />|",$res,$r)) { foreach($r[2] as $v) { if(strlen($v) == 213) { $i++; } } } curl_close($ch); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url2); curl_setopt($ch,CURLOPT_USERAGENT,$ua); curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie"); curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $res = curl_exec($ch); if(preg_match("|Тут_Шаблон_Для_Выдирания_Числа_Входящих_Писем|",$res,$t)) { print_r($t); } ?> Это далеко не готовый скрипт,а лишь наработка.Проблема состоит именно в том,какая регулярка нужна для выдирания Входящих писем.Там куча символов...пробовал,ничего не возвращает.Может,дабы не мучиться,скажете,есть ли такие программы в свободном обиходе?)(Парсинг определённых заголовков писем и его содержимым).
Всего писем (адрес страницы сам знаешь, там где написано "Входящие"): PHP: <?php $in='title="Входящие">Новых писем: <b>8</b></a>'; preg_match('|title="Входящие">Новых писем: <b>(.*)</b></a>|Ui',$in,$res); print_r ($res[1]); ?> Заголовки писем (уже внутри "Входящие"): PHP: <?php $in='<td class=lettem><a href="readmsg?id=12409073890000010683">Автомобильные пробки в реальном времени на Картах@Mail.Ru </a></td>'; preg_match_all('|<td class=lettem><a href=".*">(.*)</a></td>|Ui',$in,$res); print_r ($res[1]); ?>
как регулярке указать промежуток от нуля до 255? чего-то я забыл PHP: preg_match('|^[0-255]{1,3}$|',$_POST['ipPart3'])
Ru}{eeZ Никак. PHP: if (is_numeric($_POST['ipPart3']) && intval($_POST['ipPart3'])>0 && intval($_POST['ipPart3'])<255)
Эээ,Паш,не знаю,где ты нашёл там это,но я этого не видел.Зато смог сам разобраться не без твоей помощи.: PHP: <?php $i = 0; $url = "http://xhtml.wap.mail.ru/cgi-bin/auth?rand=3512944353"; $page = 1; $links = array(); $messages = array(); $url1 = "http://xhtml.wap.mail.ru/cgi-bin/msglist?folder=0"; $req = "Login=welya.icq&Domain=mail.ru&Password=ko4ka&page=&submit=Вход"; $ua = "IE 6.0"; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_USERAGENT,$ua); curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie"); curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie"); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_HEADER,1); curl_setopt($ch,CURLOPT_NOBODY,0); curl_setopt($ch,CURLOPT_POSTFIELDS,$req); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $res = curl_exec($ch); if(preg_match_all('|<strong>[0-9]{1,10}</strong> (.*)|',$res,$m)) { foreach($m[1] as $m1) { echo "<center>Входящие: $m1 </center><br>"; break; $x = $m1/5; $x = round($x); } } curl_close($ch); /* ///////////////////////////////////////////// */ $theme = "Forum.Злой.org <[email protected]>"; while($page < $x) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url1); curl_setopt($ch,CURLOPT_USERAGENT,$ua); curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie"); curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $res = curl_exec($ch); if(preg_match_all('|<a class="lnk_b" href="(.*)"><b>(.*)</b></a><br />|',$res,$m)) { echo "<center>Ссылки на сообщения</center><br>"; foreach($m[1] as $d) { echo "<center>$d</center>"; $links[] = $d; } echo "<br>"; echo "<center>Список тем:</center><br>"; foreach($m[2] as $d1) { echo "<center>$d1</center>"; $messages[] = $d1; } } curl_close($ch); /* ///////////////////////////////////////////////////////////////// */ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,"http://xhtml.wap.mail.ru/msglist?folder=0&page=$page"); curl_setopt($ch,CURLOPT_USERAGENT,$ua); curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie"); curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $res = curl_exec($ch); curl_close($ch); } ?> Запара теперь с циклом прогона страниц.По идее,всё правильно.Сначала выводит ссылки на сообщения и сами темы,потом делает запрос на следующую страницу,потом всё сначала,а выходит,что он выводит только Входящие сообщения и отрубается.Ещё проблема состоит в том,как посчитать количество сообщений(Входящих),и одновременно убрать переменную из цикла...А то скрипт при переходе на каждую страницу будет пытаться считать количество входящих сообщений заного,что не есть хорошо.У кого какие идеи ? ЗЫ: Для тестов я брал другое мыло.
подскажите регулярку для выделения домена из ссылок. т.е. дано: domain.com www.domain.com qwe.domain.com qwe.rty.domain.com ... qwe.rty.domain.com/index.html ... надо чтобы по всем этим строкам выдавалось domain.com дальше этого не думается: Code: ([^/]*) эта регулярка берет всё пока не встречает символ "/" надо ещё избавится от поддоменов и оставить строки типа "domain.com", если они уже в таком виде спасибо пс: питон
iv. Непонятно в каком виде исходный текст, если в каждой строчке по адресу - то будет так Code: import re dom = 'domain.com\r\nwww.domain.com\r\nqwe.domain.com\r\nqwe.rty.domain.com\r\nqwe.rty.domain.com/index.html' out = re.findall(r'(\w+\.\w+)[\s/<>"\']',dom) print set(out)
Не совсем осознал как работает (\w+\.\w+)[\s/<>"\'] ну ладно. Исходный текст на самом деле в хтмл и ссылка находится в теге <cite>. Ну и так я собственно получаю url до слэша: Code: <cite>([^/]*)</cite> Нужно получить домен 2 уровня из этого дела.
iv. Странно, что ваша регулярка вообще работает. Она забирает все, что находится внутри тегов <cite/> если там не содержится слеш И чем вам моя не нравится? Если забирает много ненужного, тогда так: Code: import re dom = '''<cite>domain3.com</cite>sad ja sad. asda da.das asda. asdasdaswq. sadas awe.q eqw .eqweqwe .qw eqwesa . <cite>www.domain3.com</cite> <cite>qwe.domain1.com</cite> Lorem ipsum sit amet <cite> http://qwe.rty.domain1.com</cite> <cite>qwe.rty.domain2.com/index.html</cite>''' out = re.findall(r'''<cite>.*?(\w+\.\w+)[\s/<>"']''',dom) print set(out) Все домены второго уровня без повторов
помогите мне сделать регулярку чтобы проверяла чтобы в тексте было или <a href="текст" alt="текст">Текст</a> или <a href="текст" alt="текст"><img scr="текст" alt="Текст" /></a>. Чтобы проверяло или есть что то из этого но ничего кроме
хм? какой текст? Code: "<a href="[-_a-zA-Z\. /]+" alt="[-_a-zA-Z\. /]+">[-_a-zA-Z\. /]+</a>|<a href="[-_a-zA-Z\. /]+" alt="[-_a-zA-Z\. /]+"><img scr="[-_a-zA-Z\. /]+" alt="[-_a-zA-Z\. /]+" /></a>" либо тупо любые символы: Code: "<a href=".+" alt=".+">.+</a>|<a href=".+" alt=".+"><img scr=".+" alt=".+" /></a>
img PHP: "<img[\s]*src[\s]*=[\s]*([^>]*)" href PHP: "<[\s]*a[\s]*href[\s]*=[\s]*([^>]*)>([^<]*)<[\s]*/[\s]*a[\s]*>" Писал по памяти, мог ошибится Долго вспомниал, уже ответили
// - граница регулярного выражения si - модификаторы s - метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк i - символы в шаблоне соответствуют символам как верхнего, так и нижнего регистра
парни, вы меня выручили, спасибо огромное, я заюзал вариант mailbrush потому-что у него самый подходящий