здравствуйте ещё раз, писал я регулярку и никак не могу её сделать рабочей есть текст Code: <tr><td class="type">премьера (мир)</td><td class="calendar"><a href="/level/80/film/279221/">14 ноября 2009</a></td></tr> <tr><td class="type">премьера (РФ)</td><td class="calendar"> <a class='all' href='/level/8/view/prem/year/2009/#279221'>19 ноября 2009</a>, <a href='/level/10/m_act[company]/4/' class='all'>«Парадиз»</a></td></tr> вот как я сделал Code: $search = '#<tr><td class="type">премьера (РФ)</td><td class="calendar">(.*)</td></tr>#'; $search = '#<tr><td class="type">премьера (мир)</td><td class="calendar">(.*)</td></tr>#'; но они не пашут
alwex PHP: preg_match('~<tr><td class="type">премьера \(РФ\)</td><td class="calendar">(.*?)</td></tr>~i',$in,$out); Для любителей копировать не думая - придумали функцию preg_quote.
Получение параметров GET запроса Здравствуйте! На странице есть вот такой текст: PHP: function contact() { popup("/JobSearch/JobContactDetails.aspx?JobId=45821542&JobTitle=Credit+Controller&Email=davidjarvis%40morgan-harvey.co.uk&Ref=DJ223&Tel=0844+811+0473&Fax=&Company=Morgan+Harvey&Contact=David+Jarvis&Address=&ExternalURL=", "ContactDetails", 470, 350); } Как с помощью регулярного выржаения выпарсить нужные мне: JobId JobTitle Email Ref Tel Fax Company Contact Address ExternalURL Т.е. все GET параметры передаваемые на страницу. Заранее благодарен!
OnArs. А тебе даже не обязательно парсить. Можешь просто получить строку с парамтрами и разбирать ее функцией split (или ее аналогом, но в большинстве языков она есть). тоесть сплитишь по символу "&", в итоге у тебя будет список вида ["имя=значение", "имя=значение"] и каждый элемент списка ты можешь так же сплитить на знаке "=". ну можно и по регулярке. тут все предельно просто. возьмем, к примеру JobId: Code: JobId=(.*?)& И так все, что тебе нужно. Ну у последнего контрольный символ в конце будет не &, а двойные ковычки ".
есть строка вида: {aaa.bbb} {aaa.vvv} etc в одной строке может быть произвольное количество выражения. нужно взять то, что после точки. пробовал preg_match_all('/{aaa\.(.*)}/', строка, куда_нужно_записать). не получается. ps что интересно: если строка (да да, именно строка. ОДНА строка) будет такого вида: {aaa.bbb} {aaa.vvv} etc, то выражение после точки нормально записывается в массив.
zythar, Code: <?php $i = "{aaa.bbb} {aaa.vvv}"; preg_match_all("/{aaa\.(.*?)}/", $i, $q); print_r($q); ?>
гм.. да, заработало, домо. если не трудно: чем отличается (.*?) от (.*)? просто времени нет искать, сорьте
PHP: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^/favicon.ico RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_URI} !^/css/ RewriteCond %{REQUEST_URI} !^/images/ RewriteRule ^(.[a-zA-Z0-9]+)/([a-zA-Z0-9]+)/(.+)/?$ index.php?action=$1&act=$2 RewriteRule ^([^.]+)$ /index.php Про обращении к картинке /images/grade/b_grade.png открывается Index.php в чем ошибка?
Подскажите регулярку для следующей задачи Подходит любое слово, состоящие из букв и цифр, кроме слова admin '/site/test123' - подходит '/site/admin' - НЕ подходит Что-то типа 'site/([\w\d^admin]+)' Спасибо
LStr1ke Но мне нужны только слова и цифры (\w\d) В данном случае регулярка будет пропускать все ( и _,?* и т.д.)
Есть переменная, в которой лежит множество url'ов. Например, http://ya.ru/hhgyugyy/llkkk.pkloij/.kkkko http://jjfurh.com/efef/po.,ki http://hhgfyr.info/?kjtit=poklojk Какой регуляркой можно выдернуть домены? То есть должен на выходе получиться массив: http://ya.ru/ http://jjfurh.com/ http://hhgfyr.info/ Думал сделать такой регуляркой, но она вырывает до последней косой черты, а нужно до первой: preg_match_all('/http:\/\/(.*)\//',$links, $regs); Спасибо.
PHP: <pre> <?php $a = ' http://ya.ru/hhgyugyy/llkkk.pkloij/.kkkko http://ya1.ru/efef/po.,ki http://ya2.ru/kjtit=poklojk'; preg_match_all('/(http:\/\/?[^\/]+\/)/i',$a,$b); print_r ($b[1]); ?> </pre>
Подскажите регулярку для следующей задачи Подходит любое слово, состоящие из букв и цифр(ТОЛЬКО ИЗ БУКВ И ЦИФР), кроме слова admin '/site/test123' - подходит '/site/admin' - НЕ подходит '/site/neadmi1n"&(*&)*_ ""1' - НЕ подходит Что-то типа 'site/([\w\d^admin]+)' Спасибо
PHP: <?php $str = '/site/admin1'; if(preg_match('#$/site/admin^#i',$str)) echo 'NO'; else echo 'OK'; ?>