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

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

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

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    qaz, эта регулярка не подходит, я точно такую же делал

    присмотрись что она выводит, первое значение массива не полное
    там в таблице 2 строки, эта регулярка берет только 1 строку

    в этом и вся проблема(( не знаю как решить

    она работает нормально для 2ого и 3его значения массива, но первое значение не полностью забирает(((
     
  2. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    PHP:
    preg_match_all("/(<td colspan=\"9\">(.*?)<\/a><\/td><\/tr><\/tbody><Tbody id=\"line\">(.*?)<\/tbody>)|(<td colspan=\"9\">(.*?)<\/a><\/td><\/tr><\/tbody>)/is",$a,$pars);
     
    1 person likes this.
  3. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    qaz, уже лучше, но надо сделать регулярку еще универсальнее

    Сейчас вроде 2 варианта, либо одна строка либо две, а их может быть хоть сколько
    минимум от 1 одной, максимума как бы нет
     
  4. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    какая строка может быть сколько угодно? которая на <Tbody id="line"> начинается?
     
  5. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    да она, вот может такой вариант попасться

     
  6. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    qaz, что скажешь? вообще реально такую регулярку сделать как думаешь?
     
  7. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    Kruzak, можешь посмотреть в сторону DOM и взять какой-нибудь готовый класс, навскидку phpQuery, Simple HTML DOM Parser, Nokogiri (если не ошибаюсь)
     
  8. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    с помощью DOM ничего не получилось, там только логическая навигация по тегам

    там все равно нужна регулярка для разделения таблицы(( :(


    // upd. вопрос больше не актуален, решил проблему )))
     
    #2008 Kruzak, 4 Oct 2013
    Last edited: 4 Oct 2013
  9. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Здравствуйте!
    Интересует как с помощью файла .htaccess сделать редирект c таких ссылок:

    http://domain.com/koshki-117/korm_dlya_koshek-2805/
    http://domain.com/sobaki_dressirovka-8/oformlenie_razdela_sobaki-273/

    в такие:

    http://domain.com/showthread.php?t=2805
    http://domain.com/showthread.php?t=273

    То есть нужно брать последние цифры из ссылки, и подставлять в параметр ?t=

    Заранее благодарю за ответ.
     
  10. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    RewriteRule (\d+)/*$ showthread.php?t=$1 [L]
     
  11. Sanic1977

    Sanic1977 Banned

    Joined:
    29 Oct 2008
    Messages:
    98
    Likes Received:
    6
    Reputations:
    0
  12. Sanic1977

    Sanic1977 Banned

    Joined:
    29 Oct 2008
    Messages:
    98
    Likes Received:
    6
    Reputations:
    0
    Спасибо разобрался
     
  13. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет!
    как лучше реализовать перенаправление?
    в cms wordpress есть папки, wp-content и другие, если их открываем то белая страница и нет ничего.
    можно ли как то заставить при открытии таких служебных папок и всех подпапок в них а так же файлов, что бы не белая страница по умолчанию была, а редиректило на главную страницу шёл
     
  14. Pushkanchik

    Pushkanchik New Member

    Joined:
    1 Oct 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    попробуй в .htaccess прописать перенаправление. Тут можно посмотреть детально:http://www.htaccess.net.ru/doc/Redirect/Redirect.php
     
  15. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    сложный вопрос, можно ли заставить вырезать часть чпу,вида
    http://sitename.ru/load/software/apple/safari_2011/51-1-0-194 на такой вид: http://sitename.ru/load/51-1-0-194
    нужно что бы при переходе из поисковой выдачи по старым урл с чпу открывался другой url, проблема в том что сайт переношу, и на принимающем сайте надо обрабатывать эти переходы

    нужно вырезать такую часть между load/ и цифрами /51-1-0-194
    цифры разные все, как и текст чпу между ними

    реально ли такую задачу решить ?
     
  16. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    GAiN, да, насколько я понял из ваших постов у вас WordPress, достаточно в index.php в самом начале прописать
    PHP:
    if (preg_match('#/load/.+/([0-9\-]+)#i'$_SERVER['REQUEST_URI'], $match) ) {
        
    header('Location: /load/'.$match[1], true301);
        exit;
    }
    это будет редирект на новый url, благодаря ему, через некоторое время, ваш сайт будет переиндексирован уже на новые URLs
    если переиндексация не нужна, то в header 301 замените на 302
     
    1 person likes this.
  17. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Todin, Спасибо !, всё работает как надо, очень выручили !
     
  18. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет
    в wordpress ссылки на загруженные файлы выглядят таким образом:
    http://siteblog.ru/wp-content/uploads/2013/10/utorrent.torrent

    wp-content - папка стандартная

    uploads - папка с файлами которые были загружены


    2013/10/ - две папки которые меняются и создаются новые каждый месяц и каждый год


    нужно сделать так что бы при клике скачать, путь был вместо стандартного http://siteblog.ru/download/utorrent.torrent
    нужно отсеять из ссылки wp-content/uploads/2013/10/
    помогите пожалуйста
     
  19. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,519
    Likes Received:
    401
    Reputations:
    196
    PERL
    PHP:
    my $line "<b>Warning</b>:  move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/tmp/phpwK4Fc0' to './folder/subfolder/file.zip' in <b>/home/www/site/upload.php</b> on line <b>50</b><br />";
    if (
    $line =~ m#move.+(/tmp/php.+)$#) {
              
    my $tmpfile = $1;
          }
          print 
    $tmpfile;
     
    Почему не срабатывает?
     
  20. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    делаю проверку полей ввода для email адреса, как разрешить точку и дефис? - сейчас такие адреса отклоняет как неправильные
    знаки:

    PHP:
    if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i"$_POST['to']))
     
Thread Status:
Not open for further replies.