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

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

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

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    етот вариант тоже буквы показывает, мож только русские нет,
    тогда так

    preg_match_all("/[a-zA-Zа-яА-я]+\d+/u", $query, $all_words);
     
  2. Toxa33rus

    Toxa33rus Member

    Joined:
    31 Mar 2012
    Messages:
    41
    Likes Received:
    6
    Reputations:
    0
    не сочтите за оффтоп: буква "Ё" входит в А-Я? Вроде по ascii коду она отдельно стоит от остальных букв
     
  3. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    preg_match() ничего не вырезает. Она занимается сопоставлением с шаблоном. Попробуйте вариант
    Code:
    /^[\pL\pN]+$/
    
    Использование диапазонов А-Я, а-я вообще увечная практика. Стоит только повнимательнее посмотреть в кодовые таблицы различных кодировок.
     
    #1743 krypt3r, 7 Apr 2012
    Last edited: 7 Apr 2012
  4. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    есть строка
    Code:
    [{user_id|105},{name|alex},{info|privet vsem},{rating|256}]
    
    парсить так
    
    [{user_id|*},{name|*},{info|*},{rating|*}]
    
    подскажите регулярку которая вынесет эти 4 значения в переменные
     
  5. cardons

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

    Joined:
    19 Jul 2005
    Messages:
    778
    Likes Received:
    324
    Reputations:
    83
    PHP:
    $text "[{user_id|105},{name|alex},{info|privet vsem},{rating|256}]";
    preg_match_all("#\[{user_id\|(.*?)},{name\|(.*?)},{info\|(.*?)},{rating\|(.*?)}\]#",$text,$matches);
    print_r($matches);
    Code:
    Array
    (
        [0] => Array
            (
                [0] => [{user_id|105},{name|alex},{info|privet vsem},{rating|256}]
            )
    
        [1] => Array
            (
                [0] => 105
            )
    
        [2] => Array
            (
                [0] => alex
            )
    
        [3] => Array
            (
                [0] => privet vsem
            )
    
        [4] => Array
            (
                [0] => 256
            )
    
    )
    
     
    1 person likes this.
  6. Flisk

    Flisk Member

    Joined:
    4 Aug 2010
    Messages:
    147
    Likes Received:
    8
    Reputations:
    -2
    Подскажите, как спарсить логин (т.е. то, что после "имя") отсюда:
    http://paste.0day.in/index.php?show=92
    Язык Перл. Пробовал писать
    ($get_name=~/Имя: <\/dt>(.*)<dd>(.*)<\/dd>/o)
    и так ($get_name=~/Имя: <\/dt><dd>(.*)<\/dd>/o)
    и даже так
    ($get_name=~/Имя: <\/dt>

    <dd>(.*)<\/dd>/)

    Все равно не парсит. Как же спарсить этот ник?

    Был бы это php, я бы просто обрезал строковыми функциями.
     
  7. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    У меня все ок.
    Code:
    $text = '<dt>Имя: test</dt>';
    
    if ($text =~ m/<dt>Имя:\s(.*)<\/dt>/) {
      print $1."\n";
    
    }
     
  8. Flisk

    Flisk Member

    Joined:
    4 Aug 2010
    Messages:
    147
    Likes Received:
    8
    Reputations:
    -2
    mironich, это у меня работает, но с реального сайта не парсит. Мне надо спарсить именно логин, т.е. в данном примере 0703mila , то что в 9 строке
    http://paste.0day.in/index.php?show=92
     
  9. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Попробуйте такой вариант
    Code:
    if ($str =~ m|<dt>Имя:\s*</dt>.*?<dd>(.*?)</dd>|sm) {
      print $1;
    }
    
     
  10. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Нужно склеить домен с www и без www, тоесть сделать редирект с http://www.site.ru на http://site.ru
    Как это можно правильно сделать с помощью .htaccess?
    Возможно ли сделать так, чтобы в коде этого файла не присутствовала ссылка на сайт?Чтобы можно было перенести этот файл, без редактирования.
     
  11. derik2011

    derik2011 New Member

    Joined:
    10 Jun 2011
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    Получено из кэша: <a href=http://dlbit.net//download/redirect/B82ACF699C5BF0F8E92C75ECD033D187p/yt6pngmy6bbw>http://dlbit.net//download/redirect/B82ACF699C5BF0F8E92C75ECD033D187p/yt6pngmy6bbw</a><!--пока не работает-->
    Ссылку помогите спарсить
     
  12. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    daniel777, попробуй
    .htaccess - жестко прописан хост
    Code:
    RewriteEngine on
    Options +FollowSymlinks
    RewriteRule ^.htaccess$ - [F]
    RewriteCond %{HTTP_HOST} ^www\.site\.ru [NC]
    RewriteRule (.*) http://site.ru%{REQUEST_URI} [R=301,L]
    
    а если неохото каждый раз редактировать, то можно попробовать, первая ссылка по запросу "htaccess убрать www"

    derik2011, пробуй
    Code:
    <a.+?href=(.+?)(>|\s)
     
    #1752 Todin, 1 May 2012
    Last edited: 1 May 2012
  13. derik2011

    derik2011 New Member

    Joined:
    10 Jun 2011
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    Позарез нужно несколько регулярок...Кто зделает большое человеческое спасибо спарсить то что красным
    1
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <link rel="shortcut icon" href="/images/faviconnew.ico" />

    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <meta name="description" content=" " />

    <title>Street Workout &amp; Turnikmans</title>

    <noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

    <script type="text/javascript">
    2
    <div class="header_top clear_fix">
    <span class="right_link fl_r" onmouseover="this.parentNode.parentNode.href=''" onmouseout="this.parentNode.parentNode.href='/search?c[section]=people&c[group]=20702885'"></span>
    Участники
    </div>
    <div class="p_header_bottom">
    <span class="fl_r"></span>
    2<span class="num_delim"> </span>454 человека
    </div>
    </a>
    <div class="module_body clear_fix">
    <div class="people_row">
    <div class="fl_l people_cell">
    Числа вместе тут как сформулировать даже низнаю мне нужно выдрать количество учасников группы вк независимо от количества их...надеюсь на помошь
    3
    И от сюда в масиве пару ссылок

    <div class="people_row">
    <div class="fl_l people_cell">
    <a class="ava" href="/sanyakolomiec" onclick="return nav.go(this, event, {cl_id: 0})">
    <img width="50" height="50" src="http://cs5306.userapi.com/u69343706/e_b6e63573.jpg"/>
    </a>
    <div class="name_field">
    <a href="/sanyakolomiec" onclick="return nav.go(this, event)">
    Александр<br />
    <small></small>
    </a>
    </div>
    </div><div class="fl_l people_cell">
    <a class="ava" href="/id127730712" onclick="return nav.go(this, event, {cl_id: 0})">
    <img width="50" height="50" src="http://cs9884.userapi.com/u127730712/e_bc6dd9b3.jpg"/>
    </a>
    <div class="name_field">
    <a href="/id127730712" onclick="return nav.go(this, event)">
    Лиза<br />
    <small></small>
    </a>
    </div>
    </div><div class="fl_l people_cell">
    <a class="ava" href="/id138724105" onclick="return nav.go(this, event, {cl_id: 0})">
    <img width="50" height="50" src="http://vk.com/images/deactivated_c.gif"/>
    </a>
    <div class="name_field">
    <a href="/id138724105" onclick="return nav.go(this, event)">
    Макс<br />
    <small></small>
    </a>
    </div>
    </div>
    </div><div class="people_row">
    <div class="fl_l people_cell">
    <a class="ava" href="/id127009989" onclick="return nav.go(this, event, {cl_id: 0})">
    <img width="50" height="50" src="http://cs305510.userapi.com/u127009989/e_e28ac36f.jpg"/>
    </a>
    <div class="name_field">
    <a href="/id127009989" onclick="return nav.go(this, event)">
    Максим<br />
    <small></small>
    </a>
    </div>
    </div><div class="fl_l people_cell">
    <a class="ava" href="/bkysnaya" onclick="return nav.go(this, event, {cl_id: 0})">
    <img width="50" height="50" src="http://cs11425.userapi.com/u46890436/e_3c8243bb.jpg"/>
    </a>
    <div class="name_field">
    <a href="/bkysnaya" onclick="return nav.go(this, event)">
    Кристина<br />
    <small></small>
    </a>
    </div>
    </div><div class="fl_l people_cell">
    <a class="ava" href="/id111668041" onclick="return nav.go(this, event, {cl_id: 0})">
    <img width="50" height="50" src="http://cs304210.userapi.com/u111668041/e_983d13a3.jpg"/>
    </a>
    <div class="name_field">
    <a href="/id111668041" onclick="return nav.go(this, event)">
    Ириша<br />
    <small></small>
    </a>
    </div>
    </div>
    </div>
    </div>
    4
    <div id="wall_fixed" class="wall_fixed">
    <div class="wall_module"><div class="wall_posts own">
    <div id="post-20702885_1232" class="post all own post_fixed" onmouseover="wall.postOver('-20702885_1232')" onmouseout="wall.postOut('-20702885_1232')" onclick="wall.postClick('-20702885_1232', event)">
    <div class="post_table">
    <div class="post_image">
    <a class="post_image" href="/swturnikmans"><img src="http://cs304503.userapi.com/g20702885/e_cf4a3a30.jpg" width="50" height="50"/></a>
    Спасибо
     
    #1753 derik2011, 3 May 2012
    Last edited: 3 May 2012
  14. _Spamer_

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

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    140
    Reputations:
    16
    Code:
    <p>Short URL: <code><a href="http://site.cx/do">
    Как вытащить урл? начало регулярки должно обязательно начинаться с <p>
     
  15. Toxa33rus

    Toxa33rus Member

    Joined:
    31 Mar 2012
    Messages:
    41
    Likes Received:
    6
    Reputations:
    0
    1.
    PHP:
    $in='<meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <link rel="shortcut icon" href="/images/faviconnew.ico" />

    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <meta name="description" content=" " />

    <title>Street Workout &amp; Turnikmans</title>

    <noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

    <script type="text/javascript">'
    ;  

    preg_match_all('#<title>(.+)<\/title>#'$in$out);  
    3.
    Code:
    #height=\"50\" src=\"(.+)\"\/>#
    4.
    Code:
    #<img src=\"(.+)\" width=\"50#
     
    #1755 Toxa33rus, 3 May 2012
    Last edited: 3 May 2012
  16. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    derik2011
    PHP:
    preg_match_all("#<title>(.*)</title>.*(\d+)<span.*</span>(\d+)|<img[[:print:]]+src=\"([[:print:][:alpha:]]+\.[a-z]{3})\"#s"$p$m);
    $arr array_merge($m[1], $m[2], $m[3], $m[4]);
    foreach(
    $arr as $val) { if (!empty($val)) { $out[] = trim($val); } }
    print_r($out);
    _Spamer_
    PHP:
    $p '<p>Short URL: <code><a href="http://site.cx/do">';
    preg_match("#^<p>[[:print:]]+<a[[:print:]]href=[\"|'](.*)[\"|']>#U"$p$m);
    print_r($m);
     
    #1756 Skofield, 3 May 2012
    Last edited: 3 May 2012
    1 person likes this.
  17. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Вопрос по mod rewrite:
    Как перенаправить с несуществующих страниц на главную?
    Что в .htaccess ниже значит %2? И почему он не работает :)
    Вопрос по apache:
    Как заблокировать списки ip адресов, если их очень много.
    Желательно, чтобы сервер вообще не посылал ответ (на крайняк 403).
     
    #1757 AnGeI, 6 May 2012
    Last edited: 6 May 2012
  18. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Code:
    ErrorDocument 404 /index.php
    Можно создать массив с айпи адресами, в котором и проверять наличие $_SERVER[REMOTE_ADDR].
     
  19. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    daniel777, ты не по теме ответил. Тема о mod_rewrite.
     
  20. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Подскажите есть баланс к примеру Total balance: $178,586.58
    Необходимо спарсить 178,586
     
Thread Status:
Not open for further replies.