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

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

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

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Благодарю )
    Пошёл курить
     
  2. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Добрый вечер )
    PHP:
    <div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
        <
    div style="border-bottom:1px #a4cef2 solid; height:8px;"><a href="http://wap.plus1.wapstart.ru/"><img style="margin:0px; padding:0px; vertical-align:top; border:none;" alt="#" width="67" height="8" src="http://ro.plus1.wapstart.ru/banner_images/static/adverst-logo.gif"/></a></div>
        <
    p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
        <
    a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_972941605af8978e90f11a6647717cd9498d7a37&amp;site=563&amp;uniquePlus1UserId=e52706061d1831c7ea040e0984e5503a5a396f93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">Я люблюкогда больноУдарь меня!</a>
        <
    br />
        <
    span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/минМТС Билайн Мегафон</span>
        </
    p>
    </
    div>
        <
    img src="http://ro.plus1.wapstart.ru//?area=counter&amp;clientSession=15d1845489238a3b5c971c1336cfbcc49e0e85be&amp;bannerId=6593&amp;site=563" alt="" style="display: none; position:absolute;"/>

    <
    div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
        <
    p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">
        <
    a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b13974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;uniquePlus1UserId=e52706061d1831c7ea040e0984e5503a5a396f93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">Истекаю сокомЗвониМаша </a>
        <
    br />
        <
    span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/минМТС Билайн Мегафон</span>
        </
    p>
    </
    div>
    Пробую вырезать такой код вот так вот
    PHP:
    $s=preg_replace('#<div style="background-color: \#ffffff; border: solid 1px \#ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">(.*)</div>#iU','',$s);
    Где у меня ошибка?
    Помогите пожалуйста
     
  3. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    что вытащить надо?
    я так понимаю,что тебе надо вырезать это
    PHP:
    <p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"
        <
    a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b1  3974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;unique  Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f  93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">Истекаю сокомЗвониМаша </a
        <
    br /> 
        <
    span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/минМТС Билайн Мегафон</span
        </
    p
     
    #963 Compton, 26 Feb 2010
    Last edited: 26 Feb 2010
  4. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    мне нужно целый код вырезать , вот я и пытался резать от сех
    PHP:
     <div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;">
    до сех
    PHP:
    </div>
    т.е. до самого конца
    а про это, '',$s); это я так вырезаю :D
     
    #964 SeNaP, 26 Feb 2010
    Last edited: 26 Feb 2010
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?php 
    $string 
    '
    dfgfdgdfgdfg
    dfgdfgdfgdfgf
    dgdfgfdgdfgdfg
    <div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;"> 
        <div style="border-bottom:1px #a4cef2 solid; height:8px;"><a href="http://wap.plus1.wapstart.ru/"><img style="margin:0px; padding:0px; vertical-align:top; border:none;" alt="#" width="67" height="8" src="http://ro.plus1.wapstart.ru/banner_images/static/adverst-logo.gif"/></a></div> 
        <p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"> 
        <a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_972941  605af8978e90f11a6647717cd9498d7a37&amp;site=563&amp;unique  Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f  93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">ппц текст 1</a> 
        <br /> 
        <span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон</span> 
        </p> 
    </div> 
        <img src="http://ro.plus1.wapstart.ru//?area=counter&amp;clientSession=15d1845489238a3b5c971c  1336cfbcc49e0e85be&amp;bannerId=6593&amp;site=563" alt="" style="display: none; position:absolute;"/> 

    <div style="background-color: #ffffff; border: solid 1px #ffffff; padding:5px 5px 0px 5px; margin:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;"> 
        <p style="margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;"> 
        <a href="http://ro.plus1.wapstart.ru/index.php?area=redirector&amp;type=1&amp;rsId=firm1_2d07b1  3974ab8e2a5848d912c6f12bf2013b7136&amp;site=563&amp;unique  Plus1UserId=e52706061d1831c7ea040e0984e5503a5a396f  93" style="color: #0e3fcc; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; text-decoration:underline;">ппц текст 2 </a> 
        <br /> 
        <span style="color: #000000; line-height:11px; margin:0px 0px 0px 0px; padding:4px 0px 3px 0px;">Цена 10 руб/мин! МТС Билайн Мегафон1</span> 
        </p> 
    </div> 
    lflflflf
    fdgfsgfsdg
    sdgsfdgsdg
    dsgsdgdsfg
    '
    ;
    echo 
    preg_replace('#(<div.*<p.*<img.*</div>)#Uis','',$string);
    ?>
     
    #965 Pashkela, 26 Feb 2010
    Last edited: 26 Feb 2010
  6. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Спасибо огромное :)
    Я просто регулярное выражение не мог составить
     
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    не-не-не, подправил предыдущий пост
     
  8. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    я так и сделал :)
     
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    там другая децл регулярка
     
    1 person likes this.
  10. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    да я заметил :D
    Я просто шаблон составить не мог.
    Огромное спасибо тебе :)
     
  11. Dark_cracker

    Dark_cracker Member

    Joined:
    29 May 2009
    Messages:
    73
    Likes Received:
    8
    Reputations:
    1
    есть файл с записями
    написал такую регулярку

    PHP:
    preg_match_all('#pass: (.*){32}#is',$file,$log);
    она выдерает всё подрят (( как мне сделать чтоб она тока 32 символа выдрала из каждой строки ???
     
  12. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    1 s (PCRE_DOTALL)
    Если данный модификатор используется, метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк. Без него - всем, за исключением переводов строк. Этот модификатор эквивалентен записи /s в Perl. Класс символов, построенный на отрицании, например [^a], всегда соответствует переводу строки, независимо от наличия этого модификатора.

    2 * - ниль или больше а {} - колво повторений ты так сказать запутал регулярку та ещё и не в том месте фигурные скобки поставил ... они должны идти после того спец символа который будет повторятся =)

    PHP:
    preg_match_all('#pass: (.{32})#i',$file,$log); 
    может так?
     
    #972 Doom123, 27 Feb 2010
    Last edited: 27 Feb 2010
    1 person likes this.
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    если речь о md5 hash

    preg_match_all('|[a-f0-9]{32}|is',$file,$log);
     
    1 person likes this.
  14. Palanik

    Palanik New Member

    Joined:
    16 Feb 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Есть файл в html, мне нужно выделить строки в которых встречается код "ei"
    выделяю - .*"ei".*
    А теперь мне нужно удалить все строки кроме указаных выше. Сколько перечитал нигде не могу найти как это сделать, помогите знатоки.
     
  15. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Помогите составить регулярку. Мне нужно распарсить со страницы номера телефонов:
    HTML:
    <br />(4932) 49-02-45, 45-51-07<br />
    <br />49-02-45, 45-51-07<br />
    <br />(4932) 490-245, 455-107<br />
    <br />490-245, 455-107<br />
    
    Это 4 разных примера встречающихся на страницах. Пытался выдернуть с помощью:
    |/\((\d{3,5})\)\s+(\d{2}-\d{2}-\d{2})/|is
    Но толку нет. Поскажите.
     
  16. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    Komyak
    PHP:
    <?php
    $text
    ="<br />(4932) 49-02-45, 45-51-07<br />
    <br />49-02-45, 45-51-07<br />
    <br />(4932) 490-245, 455-107<br />
    <br />490-245, 455-107<br />"
    ;
    echo 
    strip_tags($text);
    ?>
     
    1 person likes this.
  17. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Compton, нужна именно регулярка. Я указал примеры между тегами <br/>, так номера всегда расположены между ними- а strip_tags все теги но оставит кучу мусора в виде стороннего текста.
     
  18. Palanik

    Palanik New Member

    Joined:
    16 Feb 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Держи - /(?!:\A|\s)(?!(\d{1,6}\s+\D)|((\d{1,2}\s+){2,2}))(((\+\d{1,3})|(\(\+\d{1,3}\)))\s*)?((\d{1,6})|(\(\d{1,6}\)))\/?(([ -.]?)\d{1,5}){1,5}((\s*(#|x|(ext))\.?\s*)\d{1,5})?(?!:(\Z|\w|\b\s))/gm - только без запятых выдернет. :( - вместо смайла, ну ты понял :)
     
    #978 Palanik, 3 Mar 2010
    Last edited: 3 Mar 2010
  19. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    регулярки за 100500 строк
    Komyak,добавь перед первым < /br> еще тег и после последнего < /br>,допусти это <p> и </p>
    потом вот так
    PHP:
     preg_match('/<p>(.*)<\/p>/',$text,$m); echo strip_tags($m[1]); 
     
  20. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Как из этой строки вытащить aid, oid и hash?
     
Thread Status:
Not open for further replies.