[Регулярки & Mod_Rewrite] Задай вопрос, получи ответ.

Discussion in 'PHP' started by .:EnoT:., 19 Nov 2008.

Thread Status:
Not open for further replies.
  1. XIIIcool

    XIIIcool New Member

    Joined:
    22 Dec 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Привет всем, помогите пожалуйста по регулярке
    При парсинге таблицы возникает проблема
    таким образом парсится ячейка <TD CLASS=R6C2>(.*?)<\/TD>
    но бывает так что в неё добавляется span <TD CLASS=R6C2><SPAN></SPAN><\/TD>
    как нужно правельно написать чтоб парсило со спаном и без? зарание спасибо
     
  2. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    XIIIcool
    PHP:
    preg_match('#<TD CLASS=R6C2>(?:<SPAN>)(.*?)(?:</SPAN>)?</TD>#'$str$matches);
    Dimon32
    Для QUERY как-то так (не тестил):
    Code:
    RewriteRule ^/(.*)?/(.*)?/?$ index.php?$1=$2 
     
    #2062 AnGeI, 28 Jul 2014
    Last edited: 28 Jul 2014
  3. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    if( preg_match( "/$name/", $file ) )
    Данная команда проверяет значение переменной $name на совпадение в определенном файле
    Если файл содержит значение например vasya и если переменная $name содержит значение тоже vasya то команда preg_match дает нам об этом знать с помощи echo
    Проблема в том что если переменная $name имеет значение не vasya а Vasya (или vAsya, vaSya, vasYa, vasyA) то preg_match молчит обэтом
    Один словом он не распознает большие буквы
    Как это исправить ?
     
  4. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    PHP:
     if( preg_match"/$name/i"$file ) )
     
    1 person likes this.
  5. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    Отлично, все работает
    Большое спасибо
     
  6. ninja96c

    ninja96c New Member

    Joined:
    29 Sep 2010
    Messages:
    8
    Likes Received:
    3
    Reputations:
    1
    есть такой кусок кода.
    PHP:
     if (!preg_match('/^[a-f0-9]{4}$/'$_GET['data'])) die;
    Get проверяется регуляркой и далее без каких либо фильтраций идет в mysql_query().
    Может кто нибудь знает, реально ли обойти эту регулярку? Пробовал:
    1234 - проходит
    1234%09 (\n) - проходит
    1234%09%27 (\n ' )- уже все
    Хотя ведь вроде "$" в регулярке означает что парсить до конца строки (\n, \r, \r\n).
    Понимаю что ошибаюсь в чем-то, подскажите, пожалуйста, в чем.
     
  7. yoweb

    yoweb Banned

    Joined:
    17 Jun 2013
    Messages:
    120
    Likes Received:
    2
    Reputations:
    0
    часть html кода страницы:
    нужно вытащить все что между <div и </div>
    Так не работает:
    Как это сделать?
     
    #2067 yoweb, 15 Aug 2014
    Last edited: 15 Aug 2014
  8. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    yoweb,
    #\<div\sclass\=\"labeled\sname\"\>(.+?)\<\/div\>#s
     
  9. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    в $html код страницы. в переменной $pathToSite - путь ( к примеру, /site/files/2013/add/new/ ) . нужно регуляркой прогнать $html и где встречается $pathToSite заменить на $new_path . // к примеру, $new_path = "/site/"

    помогите составить регулярку
     
  10. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    .:[melkiy]:.
    PHP:
    <?php
    $html 
    = <<<HTMLTXT
    <!DOCTYPE html>

    <html>

    <head>
      <title>Hello!</title>
    </head>

    <body>
    /site/files/2013/add/new/
    /site/files/2013/add/new/
    /site/files/2013/add/new/
    /site/files/2013/add/new/
    /site/files/2013/add/new/
    /site/files/2013/add/new/
    </body>
    </html>
    HTMLTXT;

    $pathToSite '/site/files/2013/add/new/';
    $new_path   '/site/';
    $pattern    preg_quote($pathToSite);

    $html preg_replace('#'.$pattern.'#si'$new_path$html);

    echo 
    $html;
    ?>
     
    1 person likes this.
  11. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    долбятся боты

    как в htaccess зону действия выставить?, в папке уже и новый лежит .htaccess который свои правила задаёт этой папке, но всё равно действия с корневого файла распространяются..
    RewriteEngine Off
    и прочее RewriteRule ^script.php$ script.php [L]
    не действует


    можно ли заставить сервер возвращать пустые http заголовки на определённые страницы для конкретных ip и юзерагентов ?
    как например проверив непрекреплённый домен, который ничего не выдаёт
     
    #2071 GAiN, 29 Aug 2014
    Last edited: 7 Dec 2014
  12. waik

    waik Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    Помогите составить регулярку.
    -в строке должна быть хотя бы одна буква и цифра
    -нельзя допускать последовательный повторений из трех и болеебукв и цифр(пример: abc1hdf или fwewf456)
    -нельзя допускать повтора одних и тех же букв или символов три и более раз.
     
  13. XIIIcool

    XIIIcool New Member

    Joined:
    22 Dec 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    какая регулярная под эту таблицу?
     
  14. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    второй пункт не сильно понял, но в любом случае регуляркой такое не сделаешь, парси всё, потом фильтруй

    гениальный вопрос :D
     
  15. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    .htaccess правило

    есть определённое правило, нужно сделать что бы при несоответствии отдавалась страница 404, а не 403, как сейчас:
    PHP:
    RewriteRule ^.* - [F,L]
    как это сделать ?
     
  16. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    можно ли сделать 2 файла .htaccess в одной й директории, что бы оба функционировали?
    вообщем ситуация такая, есть конфигурация определённая прописанная в htaccess, и надо ещё прикрутить скрипт автоблокировки ip при привешении запросов, которые так же пишутся в htaccess, и файл полностью затирается
     
  17. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    всем привет, можно ли заставить сервер отдавать конкретные http заголовки

    можно ли настроить .htaccess что бы он отдавал http код 410 или 404 для конкретной директории или для конкретного файла, например css, js и картинок ?
    должно получиться так, что в браузере у пользователя отображаться и выполняться будут, а если роботы запрашивают отдельно файлы css, картинок и скриптов по прямому адресу:
    sitename.ru/wp-content/plugins/showbiz/js/admin.js
    то загружая этот файл они видят не 200 а 410, при этом файл не блокируется и не вызывает страницу с ошибкой, только заголовок отдаст нужный. на php это понятно, прописать нужный header и страница отображается как надо но бот её воспримет уже по другому как несуществующую

    мне это нужно не для поисковых ботов прятать, а от ботов сканеров, которые ищут скрипты, стили в cms, то есть стандартные папки, и не всегда их можно переименовать, нужно именно отдавать вместо 200 код 404 или 410 при этом стили доступны для чтения
    по сути - на эти директории доступ нужен только людям, загрузка картинок на странице, css и js
    поисковикам доступ туда и так закрыт, нужно что бы открывая этот файл заголовок был не 200 а 403, 410 или 404
     
  18. mastaadon

    mastaadon New Member

    Joined:
    26 Mar 2009
    Messages:
    32
    Likes Received:
    0
    Reputations:
    0
    Как правильно переадресовать в .htaccess страницу типа

    _http://www.sayt.com/page.php?page=rate

    на

    _http://www.sayt.com/page.php?page=new-rate
     
  19. MaxFast

    MaxFast Elder - Старейшина

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Нужна регулярка, которая выводит все символы нижнего регистра, которые окружают 1 или более символ верхнего.
     
Thread Status:
Not open for further replies.