есть регулярка в замене такого вида $out = "file.txt"; $out =~ s/(\.\w+)?$/.out/; понимаю тут почти все кроме "$", какую роль она здесь играет?
Блин выручайте, мозг не варит. Никак не получается http://www.ripn.net/nic/whois/whois.cgi Пытаюсь достать Между двумя тегами <PRE> </PRE> Ничего не получается, выручайте. PHP: $pattern = "#<PRE>(.*)?</PRE>#i"; $pattern = "/<PRE>(.*)<\/PRE>/"; preg_match_all($pattern, $text,$matches); if (preg_last_error() == PREG_NO_ERROR) { print 'There is no error.'; } print_r($matches);
На подобие? PHP: $var = '<pre>pre1</pre><pre>pre2</pre><pre>pre3</pre>'; if(preg_match('/<pre>.*<\/pre>/', $var, $out)) { echo $out['0']; }
HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <head> <title>whois 001.ru</title> <link rel="stylesheet" href="/styles/basic.css"> <link rev=made href="mailto:[email protected]"> <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> </head> <body bgcolor="#FFFFFF" text="#000000" link="#03388A" vlink="#555555" alink="#FF0000"> <table align=center width=610 border=0 cellpadding=0 cellspacing=0> <tr><td><a name="top"><div class="image"><img usemap="#head" src="/images/3dhead1.gif" border=0 width=610 height=72 alt=""></a><map name="head"><area shape=rect coords="3,14,145,69" href="/index.html" alt=" "></map></div></td></tr> <tr><td><a onMouseOver="window.status='back'; return true;" onMouseOut="window.status=''; return true;" href="javascript: history.back();"><img src="/images/3d1.gif" width=69 height=17 border=0 alt="Назад"></a><a href="/search.html"><img src="/images/3d2.gif" width=66 height=17 border=0 alt="Поиск"></a><img src="/images/palka1.gif" width=104 height=17 border=0 alt=""><a href="/about/"><img src="/images/3d4.gif" width=83 height=17 border=0 alt="О РосНИИРОС"></a><a href="/nic/"><img src="/images/3d5.gif" width=201 height=17 border=0 alt="Сетевой информационный центр"></a><a href="/projects.html"><img src="/images/3d6.gif" width=87 height=17 border=0 alt="Проекты"></a></td></tr> <tr><td align=left> <table width=587 border=0 cellpadding=5 cellspacing=0> <tr><td align=right> <h3><font color="#0048B9">whois 001.ru</font></h3> <br> </td></tr> <tr><td> <PRE> % By submitting a query to RIPN's Whois Service % you agree to abide by the following terms of use: % <A HREF="http://www.ripn.net/about/servpol.html" TARGET=_top>http://www.ripn.net/about/servpol.html</A>#3.2 (in Russian) % <A HREF="http://www.ripn.net/about/en/servpol.html" TARGET=_top>http://www.ripn.net/about/en/servpol.html</A>#3.2 (in English). <B>domain: 001.RU </B>nserver: ns.wm.ru. nserver: ns1.wm.ru. state: REGISTERED, DELEGATED, VERIFIED org: Guild LLD Ltd. phone: +7 095 973 43 65 fax-no: +7 095 978 69 63 e-mail: [email protected] registrar: <a href="whois.cgi?RU-CENTER-REG-RIPN">RU-CENTER-REG-RIPN</A> created: 2000.03.03 paid-till: 2012.04.01 source: TCI <B>nic-hdl: RU-CENTER-REG-RIPN </B>org: Regional Network Information Center phone: +7 495 737 0601 fax-no: +7 495 737 0602 e-mail: [email protected] www: <A HREF="http://www.nic.ru" TARGET=_top>http://www.nic.ru</A> whois: whois.nic.ru source: TCI Last updated on 2011.07.16 10:53:42 MSK/MSD </PRE> </td></tr></table> <br><br> </td></tr> <tr><td><a onMouseOver="window.status='back'; return true;" onMouseOut="window.status=''; return true;" href="javascript: history.back();"><img src="/images/3d7.gif" width=69 height=17 border=0 alt="Назад"></a><a href="/search.html"><img src="/images/3d8.gif" width=66 height=17 border=0 alt="Поиск"></a><a href="mailto:[email protected]"><img src="/images/3d9.gif" width=68 height=17 border=0 alt="Email"></a><img src="/images/3d10.gif" width=228 height=17 border=0 alt=""><a href="../index.html"><img src="/images/3d11.gif" width=179 height=17 border=0 alt="На главную страницу"></a></td></tr> <tr><td><img src="/images/3d12.gif" width=610 height=3 border=0 alt=""></td></tr></table> </body> </html> Не пойму где ошибка. Если PHP: $pattern = "/<PRE>.*/"; То выводит <PRE> Если PHP: $pattern = "/<PRE>.*<\/PRE>/"; Ничего нет! БЛИН ну я и Олень метасимвол s и всё работает! PHP: $pattern = "/<PRE>.*<\/PRE>/s";
Настройки .htaccess Скажите пожалуйста -можно ли реализовать такую настройку??? - например лежат в одной директории 3 html файла: page1.html page2.html page3.html нужно сделать что при наборе адреса http://site.com/page1 не показывало .html я знаю способ когда кладёшь в папку файл и имя папки служит именем: PHP: # DirectoryIndex pages.html # ########## вот надо только для корневого каталога так сделать на файлы без папок
Привет, помогите с переадресацией на сайт без www Убрано высвечивание index.php Основной домен без www работает нормально (не показывает index.php в строке адреса) А когда происходит редирект с www домена то появляется в строке этот скрипт index.php и сайт говорит 404 Пример: Обычный домен http://domen.com/page/contact Если зайти по http://www.domen.com/page/contact Идет редирект на http://domen.com/index.php/contact И происходит ошибка 404 PHP: Options -Indexes Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php # redirect www #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Нужно вырвать урлы на картинки с гугла(именно на картинки сайтов, а не на картинки с кеша гугла): http://www.google.ru/search?hl=ru&newwindow=1&biw=1280&bih=923&gbv=2&tbm=isch&sa=1&q=java&oq=java&aq=f&aqi=&aql=&gs_sm=s&gs_upl=0l0l0l656683l0l0l0l0l0l0l0l0ll0l0 Помогите пожалуйста составить регулярку.
programming PHP: <?php $googleImgs = file_get_contents("http://www.google.ru/search?hl=ru&newwindow=1&biw=1280&bih=923&gbv=2&tbm=isch&sa=1&q=java&oq=java&aq=f&aqi=&aql=&gs_sm=s&gs_upl=0l0l0l656683l0l0l0l0l0l0l0l0ll0l0"); preg_match_all("#\[\"/imgres\?imgurl.*?(http://[A-Za-z0-9.-]{1,}.*?\.[A-Za-z]{3,4})#", $googleImgs, $matches); print_r($matches[1]); ?>
Здравствуйте, есть такой код: PHP: $str=' [spoiler] Спойлер-1 [/spoiler] [spoiler] Спойлер-2 [spoiler] Спойлер-2-1 [/spoiler] [spoiler] Спойлер-2-2 [spoiler] Спойлер-2-2-1 [/spoiler] [/spoiler] [spoiler] Спойлер-2-3 [/spoiler] [/spoiler] [spoiler] Спойлер-3-s [/spoiler] '; $str = preg_replace_callback("#\[spoiler\]([^\[spoiler\]]+)\[/spoiler\]#si", "spoiler", $str); while (preg_match("#\[spoiler\](.*?)\[/spoiler\]#si", $str)) $str = preg_replace_callback("#\[spoiler\](.*)\[/spoiler\]#si", "spoiler", $str); function spoiler ($str) {return '<ul><li>'.$str[1].'</li></ul>';} echo $str; но не могу понять как в исключения (кроме) "#^([^СЛОВО]+)$#si" сделать так что бы обрабатывалось СЛОВО целиком, а не один из символов, пробовал использовать ?! и ?<! но тогда вообще не работает... P.S Если заменять Spoiler и на какие-нибудь одиночные символы и работать уже с этими символами, то всё нормально, т.е приходится использовать такой код: PHP: $str=' [spoiler] Спойлер-1 [/spoiler] [spoiler] Спойлер-2 [spoiler] Спойлер-2-1 [/spoiler] [spoiler] Спойлер-2-2 [spoiler] Спойлер-2-2-1 [/spoiler] [/spoiler] [spoiler] Спойлер-2-3 [/spoiler] [/spoiler] [spoiler] Спойлер-3-s [/spoiler] '; $str=preg_replace(array('#{|}#si','#\[spoiler\]#si','#\[/spoiler\]#si'),array('','{','}'),$str); $str = preg_replace_callback("#{([^{]+)}#si", "spoiler", $str); while (preg_match("#{(.*?)}#si", $str)) $str = preg_replace_callback("#{(.*)}#si", "spoiler", $str); function spoiler ($str) {return '<ul><li>'.$str[1].'</li></ul>';} echo $str;
Возможно не корректно объяснил, если проще, то нужна регулярка, которая бы нашла текст между , в которых нет вложенного Spoiler , т.е из текста выше регулярка должна вернуть: Code: [0]=>Спойлер-1 [1]=>Спойлер-2-1 [2]=>Спойлер-2-2-1 [3]=>Спойлер-2-3 [4]=>Спойлер-3-s
Хорошо, что ты уточнил, что тебе надо. А то нифига не было понятно. PHP: preg_match_all('#\[spoiler\]([ёЁа-яА-Яa-zA-Z0-9\n\r\t\s_-]*?)\[/spoiler]#', $str, $matches); $newStr = ''; for ($i = 0; $i < count($matches[1]); $i++) { $newStr .= "<ul><li>" . $matches[1][$i] . "</li></ul>\n"; } echo $newStr; именно диапазоны букв, через точку может не работать. К тому же описав как у меня - ты исключишь xss. По желанию можно ещё добавить символы типа точки и запятой и т.п. upd. это всё чувствительно к кодировке файла.
Melfis, в теле тэга Spoiler могут быть любые символы и буквы, в том числе и, допустим: Code: [spoiler] Спойлер-3 [ code] КОД [ /code] [/spoiler] Поэтому нужно исключить именно вложенный Spoiler , т.е тут нужно как-то использовать позитивный/негативный просмотр вперёд/назад, т.е (?!шаблон), примерно так (код не рабочий): Code: preg_match_all('#\[spoiler\](.*?)(?!\[spoiler\])\[/spoiler\]#', $str, $matches);
Помогите спарсить колличество коннектов(цифра перед </textarea>) PHP: readonly>$ netstat -na | grep :80 | wc -l 2</textarea>
Помогите пожалуйста с регуляркой. Нужно из html текста который в переменной удалить все ссылки но с условием что внутри ссылки нет картинки <a href="...">text</a> - такое резать <a href="..."><img.....></a> - такое пропустить
pcre: Code: <a href="[^"]++">(?!<img)[\s\S]+?</a> pcre, если внутри ссылки только текст: Code: <a href="[^"]++">[^<>]++</a> xpath: Code: //a[@href and not(img)]