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

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

Thread Status:
Not open for further replies.
  1. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Не работает что-то... Нужно что бы было с пробелом до и после.и небыло [[ и ]] (до и после)
     
  2. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Вот остался только один вопрос, как не сделать что бы он брал только без [[ в начале или ]] в конце?..
    у меня получается так:
    [[2012 год]]у превращается в [[[[2012 год]]]]у
     
    #762 -Hormold-, 29 Nov 2009
    Last edited: 29 Nov 2009
  3. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Попробуйте либо так
    PHP:
    $str preg_replace ('/\[?\[?(\d{4} год)\]?\]?/''[[$1]]'$str);
    либо так
    PHP:
    $str preg_replace ('/(?<!\[\[)(\d{4} год)(?!\]\])/''[[$1]]'$str);
     
    1 person likes this.
  4. SultanOFF

    SultanOFF Member

    Joined:
    4 Jun 2009
    Messages:
    155
    Likes Received:
    6
    Reputations:
    0
    имеются файлы картинок с названиями xxx.png, yyy.bmp, ggg.gif и т.д. тоесть с различными расширениями. Делаю регулярку вот такую '(.+?)\.([a-zA-Z]{3})' работать работает :), но вот если у картинки будет название что то в стиле xxx.yyydsd.png то получается совсем не то что ожидалось. Можно в принципе для каждого расширения отдельную регулярку делать, но так дело не пойдет, можно ли в одну регулярку это все уместить?
     
  5. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    /[a-z0-9\.]+\.[a-z]{3}/i
    /(?:[a-z0-9]+\.)+[a-z]{3}/i
     
  6. SultanOFF

    SultanOFF Member

    Joined:
    4 Jun 2009
    Messages:
    155
    Likes Received:
    6
    Reputations:
    0
    /[a-z0-9\.]+\.[a-z]{3}/i из названия angry&hungres.png выдало только букву s а второе вообще сообщило об ошибке :(

    ПС: пишу на delphi
     
  7. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    /[a-z0-9\.&]+\.[a-z]{3}/i
     
  8. SultanOFF

    SultanOFF Member

    Joined:
    4 Jun 2009
    Messages:
    155
    Likes Received:
    6
    Reputations:
    0
    нифига не работает, если даже файл 1123566.jpg выдает лишь 6 :(
     
  9. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    ну читайте тогда маны по регэкспам в делфи
     
  10. Nelzone

    Nelzone Banned

    Joined:
    12 Apr 2008
    Messages:
    172
    Likes Received:
    134
    Reputations:
    6
    сделайте из /index.php?id=111 в /id111 =\
     
  11. blaga

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

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Code:
     $str = "/index.php?id=111"; 
    $str = preg_replace('#[^0-9]#','', $str);  
    echo "/id".$str;
    вроде так.
     
  12. Nelzone

    Nelzone Banned

    Joined:
    12 Apr 2008
    Messages:
    172
    Likes Received:
    134
    Reputations:
    6
    не пашет :(
    $str = "/index.php?id=111";
    $str = preg_replace('#[^0-9]#','', $str);
    echo "/id".$str;
     
  13. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Пашет :)
    Но эта регулярка будет оставлять только цифры из входящей $str.
    -
    Как вариант:
    PHP:
    <?php
    $str 
    "/index.php?id=1111111params"
    preg_match('#/index.php\?id=([a-z0-9]+)#i',$str$out); 
    echo 
    "/id".$out[1];
    ?>
    Будет собирать цифры и буквы
     
    #773 LStr1ke, 30 Nov 2009
    Last edited: 30 Nov 2009
  14. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Никак не могу разобраться как составить рег. выражение, чтобы выдернуть в массив все страны, а также ссылки на них с этого сайта: http://www.ozon.travel/countries/
    Помогите пожалуйста..

    Ну или хотя бы просто названия стран..
     
    #774 programming, 30 Nov 2009
    Last edited: 30 Nov 2009
  15. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Уж куда проще
    PHP:
    preg_match_all ('/<a href="(\d+\/)">(.+?)<\/a>/'$str$m);
     
    1 person likes this.
  16. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    Code:
    <tr><td colspan=3 style="padding: 10px 10px 20px 20px" class="news">
    			<span class="_reachbanner_">Влюбиться в&nbsp;вампира&nbsp;— страшно и&nbsp;романтично. Но&nbsp;потерять любимого, решившего ценой разрыва спасти свою девушку от&nbsp;роли пешки в&nbsp;вечном противостоянии кланов &laquo;ночных охотников&raquo;,&nbsp;— это&nbsp;просто невыносимо. Белла Свон мучительно переживает исчезновение Эдварда и&nbsp;безуспешно ищет забвения в&nbsp;дружбе с&nbsp;мальчишкой-индейцем Джейкобом Блэком. Она&nbsp;даже не&nbsp;подозревает, что&nbsp;её лучший друг&nbsp;— порождение ещё одного &laquo;народа Тьмы&raquo;. Народа, куда более жестокого и&nbsp;опасного, чем&nbsp;аристократы-вампиры…</span>
       </td></tr>
    есть текст такого вида (выше) и надо парсить всё что внутри<span>..</span>
    НО там с новой строчки <span>
     
  17. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    В регулярке Uis
    PHP:
    <?php
    $str 
    '
    <tr><td colspan=3 style="padding: 10px 10px 20px 20px" class="news">
                <span class="_reachbanner_">Влюбиться в&nbsp;вампира&nbsp;— страшно и&nbsp;романтично. Но&nbsp;потерять любимого, решившего ценой разрыва спасти свою девушку от&nbsp;роли пешки в&nbsp;вечном противостоянии кланов &laquo;ночных охотников&raquo;,&nbsp;— это&nbsp;просто невыносимо. Белла Свон мучительно переживает исчезновение Эдварда и&nbsp;безуспешно ищет забвения в&nbsp;дружбе с&nbsp;мальчишкой-индейцем Джейкобом Блэком. Она&nbsp;даже не&nbsp;подозревает, что&nbsp;её лучший друг&nbsp;— порождение ещё одного &laquo;народа Тьмы&raquo;. Народа, куда более жестокого и&nbsp;опасного, чем&nbsp;аристократы-вампиры…</span>
       </td></tr>
    '
    ;

    if(
    preg_match('#<span.*>(.*)</span>#Uis',$str,$m))
    echo 
    $m[1];

    ?>
     
  18. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    пробовал я так, на той странице есть такого текста с span class="_reachbanner_" кучу потому надо что бы по всему шабу как-то...
     
  19. blaga

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

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    preg_match_all ?
     
  20. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    а как я буду знать именно тот? понимаешь тут же может изменяться... надо хороший шаб
     
Thread Status:
Not open for further replies.