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

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

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

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Попробуй так:

    RewriteRule ^thread\/([0-9]+)\/$ thread.php?id=$1 [L,QSA]
    RewriteRule ^thread\/([0-9]+)\/([0-9]+)\/$ thread.php?id=$1&num=$2 [L,QSA]
     
  2. ICD2

    ICD2 Member

    Joined:
    28 Dec 2008
    Messages:
    26
    Likes Received:
    14
    Reputations:
    3
    хрень какая то... так тоже не работает =/
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    а как ты проверяешь? На бери сначала в браузере вместо http://твой_сайт/thread.php?id=1

    http://твой_сайт/thread/1/
     
  4. ICD2

    ICD2 Member

    Joined:
    28 Dec 2008
    Messages:
    26
    Likes Received:
    14
    Reputations:
    3
    хм.. извините, но голова на плечах у меня еще есть :)
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    RewriteRule ^thread\/([0-9]+)\/$ thread.php?id=$1 [L,QSA]

    Вот так у меня работает, если лежит в .htaccess в корне того, откуда идет вызов, так что нех.

    Проверил на своеём форум http://site.ru/forum/thread.php?id=101

    где такой .htaccess лежит в папке

    /forum

    RewriteEngine On
    RewriteRule ^thread\/([0-9]+)\/$ thread.php?id=$1 [L,QSA]

    ЗЫЖ СНГ
     
  6. ICD2

    ICD2 Member

    Joined:
    28 Dec 2008
    Messages:
    26
    Likes Received:
    14
    Reputations:
    3
    Вы не поверите, но не работает. можете сами проверить, в пм жаббер скиньте, я Вам RSA ключи дам
     
  7. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    PHP:
    preg_match('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#'$text$out);
     
    1 person likes this.
  8. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    http://php.net/strpos
     
  9. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    PHP:
    <?php
    $ip 
    'this123 some12 text12 as4 192.145.85.123 and wil12 posisble';
    $pat3'/\w*\s+(\d+.\d+.\d+.\d+)/is';

     
    // вывести ип 

    $p preg_match($pat3,$ip,$pockets3);
    echo  
    $pockets3[1];
    echo 
    "<br/>".     $p;



    ?>
     
    как еще лучше получить значение ип ?
     
  10. _evgeniy_

    _evgeniy_ Member

    Joined:
    7 Sep 2008
    Messages:
    25
    Likes Received:
    11
    Reputations:
    5
    PHP:
    <?php
    function get_proxy($url)
    {
        
    $content file_get_contents($url);
        
    preg_match_all('/([\d]+){1,3}\.([\d]+){1,3}\.([\d]+){1,3}\.([\d]+){1,3}/',$content,$proxy_list);
        return 
    $proxy_list['0'];
    }

    echo 
    "<pre>";
    print_r(get_proxy('http://www.samair.ru/proxy/'));
    echo 
    "</pre>";
    ?>
     
    1 person likes this.
  11. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    $ip 'this123 some12 text12 as4 192.145.85.123 and wil12 posisble 111.222.333.444'

    $pat3'/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/is'
     
    // вывести ип  
    $p preg_match_all($pat3,$ip,$pockets3); 
    print_r ($pockets3); 
    ?>
     
    1 person likes this.
  12. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Помогите сделать красивые ссылки...
    Почитал почитал всё... и ничего не выходит..
    Получилось только
    https://site.ru/my_page.html

    А мне нужно сделать чтоб ссылка
    http://site.ru/index.php?str=pok
    Была изменчива часть "pok"
    Это каждую страницу нужно прописывать?


    И как убрать .html если пишу
    то на http://site.ru/my_page/ Не заходит
     
  13. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    не могу никак ни вспомнить, ни найти регулярку, которая бы заменяла
    PHP:
    b]текст[ /b]
    на
    PHP:
    <b>текст</b>
    Дошёл до этого:
    PHP:
    $string "пост длинный пост [q]ЫЫЫЫЫ[/q] длинный пост пост [q]ЫЫЫЫЫ2[/q]длинный пост ";

    $pattern "/\[q\](.*)\[\/q\]/i";
    $replacement "<b>\${1}</b>";
    echo 
    $string.'<br />';
    echo 
    preg_replace($pattern$replacement$string);
    но он обрабатывает самый первый и самый последний теги - второй и третий игнорируются.. что не так? точнее как указать правильно, чтобы он обработал все по очереди?
     
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?
    $string "пост длинный пост [q]ЫЫЫЫЫ[/q] длинный пост пост [q]ЫЫЫЫЫ2[/q]длинный пост "
    $pattern[0] = "/\[q\]/"
    $replacement[0] = "<b>"
    $pattern[1] = "/\[\/q\]/"
    $replacement[1] = "</b>"
    echo 
    $string.'<br />'
    echo 
    preg_replace($pattern$replacement$string); 
     
    #154 Pashkela, 9 Jan 2009
    Last edited: 9 Jan 2009
  15. _evgeniy_

    _evgeniy_ Member

    Joined:
    7 Sep 2008
    Messages:
    25
    Likes Received:
    11
    Reputations:
    5
    Code:
    RewriteRule ^([a-zA-Z0-9_]+)/$ index.php?str=$1
    и при заходе на

    http://site.ru/pok/ будет http://site.ru/index.php?str=pok и

    http://site.ru/my_page/ будет http://site.ru/index.php?str=my_page
     
    #155 _evgeniy_, 9 Jan 2009
    Last edited: 9 Jan 2009
  16. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    Pashkela
    эт я знаю. но если в сообщении будут незакрытые теги [q] - там появятся и незакрытые теги <b> и весь последующий текст будет жирным! надо перебрать все комбинации.

    я помню блин как я делал это вроде в одну строку..
    или может надо сначала выдрать все вхождения preg_matchem? а потом уже их заменять..
     
  17. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4

    Сделал как ты написал, но весь сайт прогружается без картинок....
    Как быть?
     
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    вот это да...тогда не знаю
     
  19. chlp

    chlp New Member

    Joined:
    7 Dec 2008
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Попробуй
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
     
  20. _evgeniy_

    _evgeniy_ Member

    Joined:
    7 Sep 2008
    Messages:
    25
    Likes Received:
    11
    Reputations:
    5
    попрбуй так

    Code:
    <?
     $string = "пост [q]ЫЫЫ-<>Ы12Ы[/q] длинный пост [q]ЫЫЫ323ЫЫ[/q] длинный [q]ЫЫЫ34ЫЫ[/q] пост пост [q]ЫЫЫЫЫ2[/q]длинный пост ";
    
    $pattern = "/\[q\](.*?)\[\/q\]/i";
    $replacement = "<b>\${1}</b>";
    echo $string.'<br />';
    echo preg_replace($pattern, $replacement, $string); 
     
    #160 _evgeniy_, 10 Jan 2009
    Last edited: 10 Jan 2009
Thread Status:
Not open for further replies.