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

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

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

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    есть такой реврайт:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?mode=$1 [L,QSA]
    ErrorDocument 404 /index.php?mode=error404
    ErrorDocument 400 /index.php?mode=error400
    ErrorDocument 500 /index.php?mode=error500

    все ок, но на сайте стоит форум в папке /forum/ - как исключить её от реврайта?
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    ntldr
    Code:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_URI} !^/forum/.*
    RewriteRule ^(.*)$ /index.php?mode=$1 [L,QSA]
    ErrorDocument 404 /index.php?mode=error404
    ErrorDocument 400 /index.php?mode=error400
    ErrorDocument 500 /index.php?mode=error500
    Реврайт работать не будет для папки forum, однако ошибки 404 400 и 500 все так же будут редиректиться на индекс
     
    _________________________
    1 person likes this.
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    PHP:
    #(\d{,9})#
    Какая строка подходит под эту регулярку?
     
  4. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Открывающая фигурная скобка, расположенная в недопустимой для квантификатора позиции, либо не соответствующая синтаксису квантификатора, интерпретируется как обыкновенная символьная строка. Например, {,6} не является квантификатором, а интерпретируется как символьная строка из четырех символов
    ©
     
  5. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    привет всем, помогите плиз...

    надо достать данные "ЛЮБОЙ ТЕКСТ" с
    Code:
    <tr><td width="390" valign="top"><font color="#000000"><p align="justify">ЛЮБОЙ ТЕКСТ</td></tr>
     
  6. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Йо,Думал я уже на php кодить разучился))
    держи мой быдлокод)
    PHP:
    <?php
    $text 
    '<tr><td width="390" valign="top"><font color="#000000"><p align="justify">ЛЮБОЙ ТЕКСТ</td></tr>';
    preg_match('~"justify">(.*)<\/td>~is',$text,$reg);
    print_R($reg);// в $reg[1] будет ЛЮБОЙ ТЕКСТ
    ?>
     
    #546 Shadow_p1raT, 14 Jul 2009
    Last edited: 14 Jul 2009
  7. Malunga

    Malunga New Member

    Joined:
    3 Sep 2008
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    Всем привет, помогите с регуляркй

    PHP:
    <tr class="abc">

    <
    h1>123456778990</h1>

    <
    div></div>


    </
    tr>   
    вот такой кусочек кода. из него регулярка вытаскивает всё что между <tr></tr>
    PHP:
    /<tr class="abc">(.*)</tr>/s
    но как сделать запрет на слово целиком? я имею ввиду как [^"] запрещает двойную кавычку.
    Так же нужно и тут, чтобы запрет стоял например на тег <h1>, т.е. что-то типа ([^<h1>]*).
    но это не работает.


    подскажите...
     
  8. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    попробуй так (.*?)<h1>
    выберет все до тэга <h1>
     
  9. KrafT

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

    Joined:
    29 Nov 2004
    Messages:
    62
    Likes Received:
    2
    Reputations:
    0
    Привет!

    Онлайн юзер
    Code:
    <img  src="/res/images/labels/online.gif" alt="Находится в данный момент на сайте" /><br/>А л ё н а </td><td align="center" class="smallnormal"><div class="photoW " uid="3874000000360916803" nick="VLJUBLJONNIJ V NOCH,DJAVOLJONOK"  mainPhotoId="3874000000090169113" lastLogin="1247892931551" sm="1" photodescr="113874000000090169113"   >
    
    Не онлайн юзер
    Code:
    <br/> bal cvetov</td><td align="center" class="smallnormal"><div class="photoW " uid="2166000001794935419" nick="LAURA"  mainPhotoId="2166000000090885117" lastLogin="1247866964919" sm="1" photodescr="012166000000090885117"   >
    
    Как сделать чтоб скрипт находил uid="3874000000360916803", а именно 3874000000360916803 НО только с тех юзеров кто онлайн??
     
  10. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <?php 

    $text 
    '<img  src="/res/images/labels/online.gif" alt="Находится в данный момент на сайте" /><br/>А л ё н а </td><td align="center" class="smallnormal"><div class="photoW " uid="3874000000360916803" nick="VLJUBLJONNIJ V NOCH,DJAVOLJONOK"  mainPhotoId="3874000000090169113" lastLogin="1247892931551" sm="1" photodescr="113874000000090169113"   >';
    //$text = '<br/> bal cvetov</td><td align="center" class="smallnormal"><div class="photoW " uid="2166000001794935419" nick="LAURA"  mainPhotoId="2166000000090885117" lastLogin="1247866964919" sm="1" photodescr="012166000000090885117"   >';
    $regex '/online.gif" alt="Находится в данный момент на сайте".*<div class="photoW " uid="([^"]*)"/ims';
    preg_match_all($regex$text$match);

    print_r($match);

    ?> 
     
    1 person likes this.
  11. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    помогите сделать регулярку чтобы сначало проверяло или есть в тексте

    <!--dle_video_begin:любой текст-->ЛЮБОЙ ТЕКСТ<!--dle_video_end-->

    и если есть то пусть ведергивает:

    url:'ТУТ ДЕРГАТЬ'
     
  12. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <?php

    $text 

    'блабла
    <!--dle_video_begin:любой текст-->ЛЮБОЙ ТЕКСТ<!--dle_video_end-->
    блаблаurl:\'ТУТ ДЕРГАТЬ1\'блабла
    url:\'ТУТ ДЕРГАТЬ2\'
    блабла url:\'ТУТ ДЕРГАТЬ3\' блабла'
    ;

    if (
    preg_match('/<!--dle_video_begin:.*?-->.*?<!--dle_video_end-->/ims'$text))
    {
      
    preg_match_all('/url:\'([^\']*)\'/ims'$text$match);
      
    print_r($match[1]);
    }

    ?>
    Наверное так, если я правильно понял
     
  13. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    Оо, заработало, спасибо)
     
  14. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    а какой функцией удаление похожих строк делаеться что бы была только 1 строка
     
  15. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    array_unique() — Убрать повторяющиеся значения из массива
     
  16. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    спс
     
  17. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    нужна ещё помощь...

    у меня есть текст где есть
    надо сделать так чтобы он вырезал

    $g,

    я пробовал чреез str_replace но не хочет...
     
  18. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    За то время, скока раз ты задал вопросов по регуляркам, можно было бы их уже выучить, а не задавать простейшие вопросы
    PHP:
    <?php

    $text 
    'текст(переменная $g), текст(переменная $i), текст(переменная $k),';
    preg_match_all('/\(.*?\$(.*?)\)/ims'$text$match);
    print_r($match);

    ?>
     
    #558 FireFenix, 21 Jul 2009
    Last edited: 21 Jul 2009
  19. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    да я каждый раз учу. мне регулярки нужны по 10 раз в день но я спрашиваю меньше потому что половину сам пишу, а что не могу то не пишу, я имел введу вырезал
    тип preg_replace...
     
  20. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    каждый раз? там учить на 2 часа
    preg_replace - не вырезает, а заменяет.... пора бы уже что-ли тебе и пхп выучить
     
Thread Status:
Not open for further replies.