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

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

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

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Такое решение уже давали
    Читаем внимательно условие
    Подходит любое слово, состоящие из букв и цифр

    Это решение пропускает также и спец символы
    например
    PHP:
    $str '/site/NEadmin"&(*&)*_ ""1';
     
    #861 Naydav, 23 Dec 2009
    Last edited: 23 Dec 2009
  2. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    А не легче ставить проверку на присутствие слова "admin". Если присутвует, то ругаемся, нет - выполняем нужные действия.
     
  3. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    LStr1ke
    Это нужно для Zend_Controller_Router_Route_Regex, так что без изврата не получится

    m0Hze
    Оо это же гениально просто!!! перечислить запрещенные символы в том числе и слово admin
    Блин, потом зная решение, только и остается гадать, почему нужно было придумывать сложные варианты
    Спасибо!
     
  4. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Есть переменная, в которой содержится фрагмент кода:
    PHP:
    <p>

        <
    b>Код счётчика</b><br><textarea rows=22 cols=90>&lt;!--Rating@Mail.ru counter--&gt;
    &
    lt;script language=&quot;javascript&quottype=&quot;text/javascript&quot;&gt;&lt;!--
    d=document;var a='';a+=';r='+escape(d.referrer);js=10;//--&gt;&lt;/script&gt;
    &lt;script language=&quot;javascript1.1&quottype=&quot;text/javascript&quot;&gt;&lt;!--
    a+=';j='+navigator.javaEnabled();js=11;//--&gt;&lt;/script&gt;
    &lt;script language=&quot;javascript1.2&quottype=&quot;text/javascript&quot;&gt;&lt;!--
    s=screen;a+=';s='+s.width+'*'+s.height;
    a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth);js=12;//--&gt;&lt;/script&gt;
    &lt;script language=&quot;javascript1.3&quottype=&quot;text/javascript&quot;&gt;&lt;!--
    js=13;//--&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!--
    d.write('&lt;a href=&quot;http://top.mail.ru/jump?from=1760535&quot; target=&quot;_top&quot;&gt;'+
    '&lt;img src=&quot;http://dd.cd.ba.a1.top.mail.ru/counter?id=1760535;t=130;js='+js+
    a+';rand='+Math.random()+'&quot; alt=&quot;Рейтинг@Mail.ru&quot; border=&quot;0&quot; '+
    'height=&quot;40&quot; width=&quot;88&quot;&gt;&lt;\/a&gt;');if(11&lt;js)d.write('&lt;'+'!-- ');//--&gt;&lt;/script&gt;
    &lt;noscript&gt;&lt;a target=&quot;_top&quothref=&quot;http://top.mail.ru/jump?from=1760535&quot;&gt;
    &lt;img src=&quot;http://dd.cd.ba.a1.top.mail.ru/counter?js=na;id=1760535;t=130&quot; 
    height=&quot;40&quotwidth=&quot;88&quotborder=&quot;0&quotalt=&quot;Рейтинг@Mail.ru&quot;&gt;&lt;/a&gt;&lt;/noscript&gt;
    &
    lt;script language=&quot;javascript&quottype=&quot;text/javascript&quot;&gt;&lt;!--
    if(
    11&lt;js)d.write('--'+'&gt;');//--&gt;&lt;/script&gt;
    &lt;!--// [email protected] counter--&gt;
    </textarea>
    Какой регуляркой можно выдрать код счётчика?
    Спасибо.
     
    #864 programming, 27 Dec 2009
    Last edited by a moderator: 27 Dec 2009
  5. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Отредактируй пост, и на будущее будь добр оформляй код в тэгах [*php]*[*/php]
     
  6. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Ок.



    Пробовал
    PHP:
    /<textarea rows=22 cols=90>(.*)<\\/textarea>/
    Но получается пустота..
    Как же выдрать код?
     
  7. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    PHP:
    <?php
    $var 
    "<p> 

        <b>Код счётчика</b><br><textarea rows=22 cols=90>&lt;[email protected] counter--&gt; 
    &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    d=document;var a='';a+=';r='+escape(d.referrer);js=10;//--&gt;&lt;/script&gt; 
    &lt;script language=&quot;javascript1.1&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    a+=';j='+navigator.javaEnabled();js=11;//--&gt;&lt;/script&gt; 
    &lt;script language=&quot;javascript1.2&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    s=screen;a+=';s='+s.width+'*'+s.height; 
    a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth);  js=12;//--&gt;&lt;/script&gt; 
    &lt;script language=&quot;javascript1.3&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    js=13;//--&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    d.write('&lt;a href=&quot;http://top.mail.ru/jump?from=1760535&quot; target=&quot;_top&quot;&gt;'+ 
    '&lt;img src=&quot;http://dd.cd.ba.a1.top.mail.ru/counter?id=1760535;t=130;js='+js+ 
    a+';rand='+Math.random()+'&quot; alt=&quot;Рейтинг@Mail.ru&quot; border=&quot;0&quot; '+ 
    'height=&quot;40&quot; width=&quot;88&quot;&gt;&lt;\/a&gt;');if(11&lt;js)d.write('&lt;'+'!-- ');//--&gt;&lt;/script&gt; 
    &lt;noscript&gt;&lt;a target=&quot;_top&quot; href=&quot;http://top.mail.ru/jump?from=1760535&quot;&gt; 
    &lt;img src=&quot;http://dd.cd.ba.a1.top.mail.ru/counter?js=na;id=1760535;t=130&quot;  
    height=&quot;40&quot; width=&quot;88&quot; border=&quot;0&quot; alt=&quot;Рейтинг@Mail.ru&quot;&gt;&lt;/a&gt;&lt;/noscript&gt; 
    &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    if(11&lt;js)d.write('--'+'&gt;');//--&gt;&lt;/script&gt; 
    &lt;!--// [email protected] counter--&gt; 
    </textarea> "
    ;

    preg_match('#<textarea .*>(.*)</textarea>#s',$var$m);
    echo 
    $m[1];
    ?>
     
  8. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Не пашет=(
     
  9. PandoraBox

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

    Joined:
    6 May 2007
    Messages:
    262
    Likes Received:
    176
    Reputations:
    7
    PHP:
    $tmp = <<<TMP
     <p> 

        <b>Код счётчика</b><br><textarea rows=22 cols=90>&lt;[email protected] counter--&gt; 
    &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    d=document;var a='';a+=';r='+escape(d.referrer);js=10;//--&gt;&lt;/script&gt; 
    &lt;script language=&quot;javascript1.1&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    a+=';j='+navigator.javaEnabled();js=11;//--&gt;&lt;/script&gt; 
    &lt;script language=&quot;javascript1.2&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    s=screen;a+=';s='+s.width+'*'+s.height; 
    a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth);  js=12;//--&gt;&lt;/script&gt; 
    &lt;script language=&quot;javascript1.3&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    js=13;//--&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    d.write('&lt;a href=&quot;http://top.mail.ru/jump?from=1760535&quot; target=&quot;_top&quot;&gt;'+ 
    '&lt;img src=&quot;http://dd.cd.ba.a1.top.mail.ru/counter?id=1760535;t=130;js='+js+ 
    a+';rand='+Math.random()+'&quot; alt=&quot;Рейтинг@Mail.ru&quot; border=&quot;0&quot; '+ 
    'height=&quot;40&quot; width=&quot;88&quot;&gt;&lt;\/a&gt;');if(11&lt;js)d.write('&lt;'+'!-- ');//--&gt;&lt;/script&gt; 
    &lt;noscript&gt;&lt;a target=&quot;_top&quot; href=&quot;http://top.mail.ru/jump?from=1760535&quot;&gt; 
    &lt;img src=&quot;http://dd.cd.ba.a1.top.mail.ru/counter?js=na;id=1760535;t=130&quot;  
    height=&quot;40&quot; width=&quot;88&quot; border=&quot;0&quot; alt=&quot;Рейтинг@Mail.ru&quot;&gt;&lt;/a&gt;&lt;/noscript&gt; 
    &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- 
    if(11&lt;js)d.write('--'+'&gt;');//--&gt;&lt;/script&gt; 
    &lt;!--// [email protected] counter--&gt; 
    </textarea>
    TMP;
    // -----------------------------------------------------
    $tmp html_entity_decode($tmp);
    flush(); // Buffer clean
    if (preg_match("/<textarea rows=22 cols=90>(.*)<\/textarea>/is"$tmp$match ))//
    {
        
    print_r($match[1]);
    }
    с тебя пиво :D
     
    #869 PandoraBox, 27 Dec 2009
    Last edited: 27 Dec 2009
    1 person likes this.
  10. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    У меня работает у тебя нет, мистика? Или на форуме вылажуем одно в имеем другое?
     
  11. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Pandorra, спасибо.

    Ещё проблема..
    Вот html страница:
    PHP:
    <class="normal s" href="/Pill?q=179309">Код счетчика</a>
    Как вырвать 179309?
    Спасибо.

    С наступающим НГ))
     
    #871 programming, 31 Dec 2009
    Last edited: 31 Dec 2009
  12. warlok

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

    Joined:
    17 Feb 2008
    Messages:
    328
    Likes Received:
    142
    Reputations:
    81
    PHP:
    $a '<a class="normals" href="/Pill?q=179309">Код счетчика</a>';
    preg_match('#<a class=\"normals\" href=\"/Pill\?q=(.*?)\">#',$a,$out);
        
    var_dump($out);
    С новым годом :)
     
  13. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    Code:
    <a href="http://www.batareika.info/index.php?do=register&amp;doaction=validating&amp;id=ZXhwbG9kZXJ8fGV4MDAwQG1haWwucnV8fGFjYmQ4MTBhM2M5ZmU0ZjcyZDQ5NThkMDA1M2VmMzRkfHw4MTAwZWU5NDM3NzU3YjJiYTRkN2E4YzY2YjM0Y2FhZQ%3D%3D" target="_blank">
    
    Подскажите регулярку (php) чтобы вытянуть адрес
     
  14. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Самый простой вариант #<a.?+href="([^"]+)".*?>#
     
  15. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    и еще так
     
  16. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    Благодарю
     
  17. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    нужно выдрать значение всех value из этой формы.Напишите плиз регулярку
    PHP:

    <input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
    <
    input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <
    input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    <
    input type="hidden" name="__LBD_VCT" id="__LBD_VCT" value="11" />
    <
    input type="hidden" name="__LBD_SGC_login_ctl00_cph_captcha" id="__LBD_SGC_login_ctl00_cph_captcha" value="0" />
    <
    input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE5MDIzMzgzMz1ZBYCZg9kFgICA3w9kFgZmD2QWAmYPFgIeC18hSXRlbUNvdW50AgMWBgIBD2QWAmYPFQEiPG5vYnI+PHNwYW4+0JLRhdC+0LQ8L3NwYW4+PC9ub2JyP11CAw9kFgJmDxUBTDxub2JyPjxhIGhyZWY9J3NpZ251cC5hc3B4JyB0YXJnZXQ9J19zZWxmJz7QoNC10LPQuNGB0YLRgNCw0YbQuNGPPC9hPjwvbm9icj5kAgUPZBYCZg8VAUk8bm9icj48YSBocmVmPSdhYm91dC5hc3B4JyB0YXJnZXQ9J19zZWxmJz7QmNC90YTQvtGA0LzQsNGG0LjRjzwvYT48L25vYnI+ZAIDD2QWCgIEDxBkZBYBZmQCFA8PFgIeB0VuYWJsZWRoZGQCGw8PFgIeCFJlYWRPbmx5aGRkAh0PDxYCHwFoZGQCHg8PFgIfAWhkZAIFDw8WAh4JU2hvcnRMaXN0Z2QWBGYPFgIfAAIDFgZmD2QWBGYPDxYCHgRUZXh0BQ7QoNGD0YHRgdC60LjQuWRkAgEPDxYGHgtDb21tYW5kTmFtZQUCcnUfBAUO0KDRg9GB0YHQutC40LkeB1Zpc2libGVoZGQCAg9kFgRmDw8WBB8EBQdFbmdsaXNoHwZoZGQCAQ8PFgQfBQUCZW4fBAUHRW5nbGlzaGRkAgQPZBYEZg8PFgQfBAUHRGV1dHNjaB8GaGRkAgEPDxYEHwUFAmRlHwQFB0RldXRzY2hkZAICDxBkZBYAZGRAv5Ju3oqH7kjKpWuXz49wGvbN0A==" />
    </
    div>
     
    #877 InfectedM, 4 Jan 2010
    Last edited: 5 Jan 2010
  18. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    InfectedM
    PHP:
    $text " <input type=\"hidden\" name=\"__LASTFOCUS\" id=\"__LASTFOCUS\" value=\"\" />
    <input type=\"hidden\" name=\"__EVENTTARGET\" id=\"__EVENTTARGET\" value=\"\" />
    <input type=\"hidden\" name=\"__EVENTARGUMENT\" id=\"__EVENTARGUMENT\" value=\"\" />
    <input type=\"hidden\" name=\"__LBD_VCT\" id=\"__LBD_VCT\" value=\"11\" />
    <input type=\"hidden\" name=\"__LBD_SGC_login_ctl00_cph_captcha\" id=\"__LBD_SGC_login_ctl00_cph_captcha\" value=\"0\" />
    <input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\" value=\"/wEPDwULLTE5MDIzMzgzMz1ZBYCZg9kFgICA3w9kFgZmD2QWAmY  PFgIeC18hSXRlbUNvdW50AgMWBgIBD2QWAmYPFQEiPG5vYnI+P  HNwYW4+0JLRhdC+0LQ8L3NwYW4+PC9ub2JyP11CAw9kFgJmDxU  BTDxub2JyPjxhIGhyZWY9J3NpZ251cC5hc3B4JyB0YXJnZXQ9J  19zZWxmJz7QoNC10LPQuNGB0YLRgNCw0YbQuNGPPC9hPjwvbm9  icj5kAgUPZBYCZg8VAUk8bm9icj48YSBocmVmPSdhYm91dC5hc  3B4JyB0YXJnZXQ9J19zZWxmJz7QmNC90YTQvtGA0LzQsNGG0Lj  RjzwvYT48L25vYnI+ZAIDD2QWCgIEDxBkZBYBZmQCFA8PFgIeB  0VuYWJsZWRoZGQCGw8PFgIeCFJlYWRPbmx5aGRkAh0PDxYCHwF  oZGQCHg8PFgIfAWhkZAIFDw8WAh4JU2hvcnRMaXN0Z2QWBGYPF  gIfAAIDFgZmD2QWBGYPDxYCHgRUZXh0BQ7QoNGD0YHRgdC60Lj  QuWRkAgEPDxYGHgtDb21tYW5kTmFtZQUCcnUfBAUO0KDRg9GB0  YHQutC40LkeB1Zpc2libGVoZGQCAg9kFgRmDw8WBB8EBQdFbmd  saXNoHwZoZGQCAQ8PFgQfBQUCZW4fBAUHRW5nbGlzaGRkAgQPZ  BYEZg8PFgQfBAUHRGV1dHNjaB8GaGRkAgEPDxYEHwUFAmRlHwQ  FB0RldXRzY2hkZAICDxBkZBYAZGRAv5Ju3oqH7kjKpWuXz49wG  vbN0A==\" />
    "
    ;

    preg_match_all('#<input[^<>]*name=([\'"])(?P<name>[^<>]*?)\1([^<>]*value=([\'"])(?P<value>[^<>\4]*?)\4)?#i',$text,$result);
    $out array_combine($result['name'],$result['value']);

    var_dump($out);
     
    _________________________
  19. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Gifts спасибо
     
  20. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Подскажите пожалуйста:
    PHP:
    <script>print_email('mail','yandex.ru');</script>

    //Пытаюсь выдрать mail и yandex.ru

    |>print_email(\'(.*?)\',\'(.*?)\')|Uis //c помощью вот этого...

    Страшно, ужасно и ничего не получается...
     
    #880 Komyak, 5 Jan 2010
    Last edited: 5 Jan 2010
Thread Status:
Not open for further replies.