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

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

Thread Status:
Not open for further replies.
  1. [dei]

    [dei] Active Member

    Joined:
    24 Nov 2008
    Messages:
    171
    Likes Received:
    112
    Reputations:
    5
    если я правильно тебя понял..

    .htaccess
    Code:
    RewriteEngine On
    RewriteRule ^p/(\d+) index.php?a=p&b=$1
    
     
  2. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    ага.... только что то не сработало...
     
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Все работает, проверено :)
    Проверь, установлен ли у тебя mod_rewrite...
     
  4. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Нужно две универсальные регулярки, которые без ошибок будут искать в тексте ссылки и имейл адреса.
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    mail:

    /[\w\-]+@[\w\-]+.\w+.\w+/

    url:

    #(http://[^\s]+)|(www.[^\s]+)#
     
    #665 Pashkela, 29 Sep 2009
    Last edited: 29 Sep 2009
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Pashkela
    а если ссылка вида ? =\
    Творя регулярка для мыл, результат:
    PHP:
    $str '[email protected]';
    preg_match('/[\w\-]+@[\w\-]+.\w+.\w+/',$str,$matches);
    print_r($matches);
    Некатит


    ЗЫ все неактуально, написал сам.
     
    #666 b3, 29 Sep 2009
    Last edited: 29 Sep 2009
  7. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    PHP:
    <td><div class="block">
    <
    img src="bg.gih" hspace="5"
    content
    <li><ul>asdfasdkajsdf



    </div>
    </
    td>
    нужно извлечь содержание в тегах див, ничего не выходит
     
  8. Insane bboy

    Insane bboy New Member

    Joined:
    11 Jul 2009
    Messages:
    52
    Likes Received:
    3
    Reputations:
    0
    помогите с регулярным выражением нужно парсить со страницы данные об мыльном аккаунте
    данные в таком виде:
    [email protected]
    [email protected]
    данных много, много и мусора, хотелось бы универсальную регулярку которая не только майлру акки парсила бы, может кто помочь?
     
    #668 Insane bboy, 14 Oct 2009
    Last edited: 14 Oct 2009
  9. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    На скорую руку, помоему вполне робит
    PHP:
    <?php
    $str 
    '
    [email protected]
    [email protected]
    '
    ;
    preg_match_all('#(([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6})\-(.*?)#Ui',$str,$e);
    $count count($e[1]);
    for (
    $i=0;$i $count$i++) {
    echo 
    $e[1][$i].';'.$e[5][$i].'<br>';
    }
    ?>
     
  10. crazy~driver

    crazy~driver Member

    Joined:
    21 Dec 2008
    Messages:
    97
    Likes Received:
    14
    Reputations:
    4
    подскажите, где ошибка?
    PHP:
    preg_match("@http://site.ru/[a-z]{10}\.php@",$str)
     
    #670 crazy~driver, 14 Oct 2009
    Last edited: 14 Oct 2009
  11. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    регулярка соответствует урлам типа
    Code:
    http://site.ru/qwrtyuiomp.php
    http://site.ru/tipmjfvsdt.php
    http://site.ru/cnkondctio.php
    
    Предполагалось-то что получить?
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    слэши тоже нужно екранировать, тоесть:
    PHP:
    preg_match("@http:\/\/site\.ru\/([a-z]{10})\.php@",$str,$matches);
    print_r($matches);
     
  13. crazy~driver

    crazy~driver Member

    Joined:
    21 Dec 2008
    Messages:
    97
    Likes Received:
    14
    Reputations:
    4
    Все равно не работает
    _________________________

    файл deystvie.txt
    PHP:

    имя юзера 
    admin
    ip юзера 
    127.0.0.1
    линк 
    http://document.info/upd.php

    имя юзера admin
    ip юзера 
    127.0.0.1
    линк 
    http://document.info/del.php

    ip юзера 127.0.0.1
    линк 
    http://document.info/favicon.ico
    файл fuction.php
    PHP:

    function versiya()
    {

    $file=fopen("deystvie.txt","r");
      if (
    $file)
      {
        while(!
    feof($file))//кртуим  файл
        
    {
          
    $str fgets($file);
          
    if (
    preg_match("@http:\/\/document\.info\/([a-z])\.php@",$str))  
          {
          echo 
    "найдены";
          }
         
        }
        
    fclose ($file);}

    }

    versiya();
    Требуется проверять урлы чтобы был сначала адрес сайта, затем любая последодвательность латинских букв до 10 символов, затем точка, и за ней расширение php
     
  14. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    preg_match("/\@http\:\/\/site\.ru\/([a-z]{10})\.php\@/",$str,$matches)
    так попробуй
     
    2 people like this.
  15. crazy~driver

    crazy~driver Member

    Joined:
    21 Dec 2008
    Messages:
    97
    Likes Received:
    14
    Reputations:
    4

    не все равно не ищет
    у мя тока работает
    PHP:
    (preg_match("@http://document.info/[a-z].@",$str))
    а как добавляю php сразу результат тухнет
     
  16. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    @^http://[a-z0-9-]+\.(ru|net|com|org|info)/[a-z]{10}\.php$@
    
    Список доменных имен верхнего уровня можете расширить на свое усмотрение либо замените его на [a-z]+
     
  17. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    crazy~driver
    PHP:
    preg_match('|http://.+/(.+)\.php|Ui',$str,$code);
    print_r($code[1]);
     
    1 person likes this.
  18. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    а понту с того ведь у тебя не стоит:
    "/http:\/\/site\.ru\/([a-z]{10})\.php/"
     
  19. Insane bboy

    Insane bboy New Member

    Joined:
    11 Jul 2009
    Messages:
    52
    Likes Received:
    3
    Reputations:
    0
    помогите с регуляркой:(
    в тексте каждый параграф я отделил с помощью коментов <!--1-->тут ячейка таблицы с текстом и тд итд<!--1_--><--2-->тут другая ячейка с текстом<!--2-->

    тескта в ячейках много, как можно загнать параграф в переменую то есть от <!--чифра-->до<!--цифра_--> включай и эти теги каментов?
    пробывал так
    if(preg_match('#<!--1-->(.*?)<!--1_-->#',$info,$matches))
    но что то нифига не помогает:(
     
  20. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    здраствуйте форумчани, помогите, а то я уже полностю задолбался...

    есть строка

    Code:
    <!-- актеры фильма -->
    <td style="background: url(/images/bg-lenta.gif) no-repeat 0px 95%; width: 260px; height: 100%; vertical-align: top">
       <table style="width: 100%; height: 100%; border: none" cellspacing=0 cellpadding=0>
       <tr><td style="height: 31px; text-align: right; border: none; padding-right: 10px"><span style="color: #f60">В главных ролях:</span></td></tr>
       <tr><td style="height: 10px"><br /></td></tr>
       <tr><td style="height: 100%; vertical-align: top; padding-right:10px">
          <table style="width: 100%; border: none" cellspacing="0" cellpadding="0">
          <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/6317/" class="all">Пол Уокер</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/11437/" class="all">Вин Дизель</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/2318/" class="all">Мишель Родригес</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/47679/" class="all">Джордана Брюстер</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/29366/" class="all">Рик Юн</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/22695/" class="all">Чэд Линдберг</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/47429/" class="all">Джонни Стронг</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/16059/" class="all">Мэтт Шульце</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/532/" class="all">Тед Левайн</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/12801/" class="all">Джа Рул</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/19/film/666/" class="all">...</a></td></tr>
    
          <tr><td><br><br><br></td></tr>
    <tr><td align="right" class="desc-title" style="border:0px;padding:0px">Роли дублировали:</td></tr>
    <tr><td><br></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/1806292/" class="all">Дмитрий Кошмин</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/1053232/" class="all">Алексей Мясников</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/1672422/" class="all">Татьяна Весёлкина</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/1650216/" class="all">Елена Ивасишина</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/224608/" class="all">Борис Шувалов</a></td></tr>
    <tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/19/film/666/" class="all">...</a></td></tr>
    		
          </table>
       </td></tr>
       </table>
    </td></tr>
    <!-- /актеры фильма -->
    с нее надо парсить только актеров, я писал так что бы парсило, но оно парсило и тег кто дублировал роли. как сделать что бы только актеров?
     
Thread Status:
Not open for further replies.