[Регулярки & 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



    PHP:
    if (!preg_match("/^[0-9a-z_\.-]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i"$_POST['to']))
    [/QUOTE]
     
    1 person likes this.
  2. Asimusk

    Asimusk New Member

    Joined:
    13 Nov 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите с регулярным выражением

    Уважаемые форумчане. Мне необходимо выпарсить каждый раз новое значение (название списка). Значение списка зависит от того, в какую часть попадает в данном случае Apricot. Каждый раз Apricot будет попадать в разные списки в Важный список и Второстепенный список. И, в зависимости от того, куда он попал, мне нужно значение (наименование) списка.

    HTML:
    <p id="">Важный список:</p>
    <ol class="listInline">
        	  
                 <li> 
    
    
    	1.<a href="value/sugar.6398/" class="username organizer">Sugar</a>
    
    &nbsp;
    </li>
           	  
                 <li> 
    
    
    	2.<a href="value/banana.20201/" class="username paid">Banana</a>
    
    &nbsp;
    </li>
           	  
                 <li> 
    
    
    	
           	   
    </ol>
    
    
    
    <p id="">Второстепенный список:</p>
    <ol class="listInline">
        	  
                 <li> 
    
    
    	1.<a href="value/apricot.41629/" class="username paid">Apricot</a>
    
    &nbsp;
    </li>
           	  
                 <li> 
    
    
    	2.<a href="value/mandarin.9168/" class="username unpaid">Mandarin</a>
    
    &nbsp;
    </li>
           	  
                 
           	   
    </ol>
     
  3. qaz

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

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

    PHP:
    preg_match_all("/<p id=\"\">(.*?)<\/ol>/s",$html,$pars);


    foreach( 
    $pars[0] as $one ) {

    if( 
    preg_match("/Apricot/s",$one) ) {


    preg_match("/<p id=\"\">(.*?)<\/p>/is",$one,$pars2);

    echo 
    $pars2[1];
                                        }

                                }
     
  4. Z0diac

    Z0diac New Member

    Joined:
    8 Aug 2012
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Добрый день. Подскажите пожалуйста регулярку. Есть строки типа:

    нужно при помощи регулярки в переменные вытащить отдельно логин (например dakor3), отдельно email ([email protected]). Формат строк приведен выше. И какую функцию PHP использовать.

    Заранее благодарен.
     
  5. qaz

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

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

    PHP:
    <?
    $text ",,,,,,,,,,,dakor3,,,,,,,,,,,,,,,,*,[email protected] u
     ,,,,,,,,,,,\"Елена Чмерук\",,,,,,,,,,,,,,,,*,[email protected]
     ,,,,,,,,,,,natalyasharova1974,,,,,,,,,,,,,,,,*,nat [email protected]"
    ;


    preg_match_all("/,[a-z0-9]{1,30},|\"(.*?)\"/",$text,$pars_login);


    preg_match_all("/[a-z0-9]{1,30}@[a-z0-9]{1,20}\.[a-z]{1,5}/",$text,$pars_email);




    $array_replace = array("\"",",");
    $array_result = array("","");

    foreach(
    $pars_login[0] as $str_login)  {

    echo 
    str_replace($array_replace,$array_result,$str_login)."<br>";



    echo 
    "<br>----------------------------------------------<br>";


    foreach(
    $pars_email[0] as $str_email)  {

    echo 
    $str_email."<br>";


    ?>
    result:

     
    1 person likes this.
  6. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Есть файл субтитров:

    Субтитрьі:
    1
    00:00:10 --> 00:00:14
    We're going to get started.
    Handouts are the by the door if

    2
    00:00:14 --> 00:00:18
    anybody didn't pick one up.
    My name is Charles Leiserson.

    3
    00:00:18 --> 00:00:23
    I will be lecturing this course
    this term, Introduction to

    Нужно сделать регулярку, чтобьі вьіделяло тока тайм-кодьі "00:00:23"

    Я пьітался так, но тогда и обьічньіе цифрьі попадаються: [0-9]+(?:\.[0-9]*)?
     
  7. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    У тебя есть --> а ты его не используешь.
    Вообще -Subtitle Edit, File->Export->Export custum text format...->New:
    Text line(paragraph):{start} --> {end}, Save ass.
     
  8. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Так в том то и проблема.
    Тайм-код должен бьіть с мкс
    А в файле микросекундьі есть не во всех тайм-код, я потому я хочу сделать замену по регулярке.
    "00:00:10 --> 00:00:14"
    "00:00:10.000 --> 00:00:14.000"
     
  9. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Сделал, мож кому надо будет:
    PHP:
    preg_filter("/([\d]{2}:[0-9][\d]:[\d]{2})[\s]/""$1,000 "$text);
     
  10. Грабитель

    Joined:
    5 Mar 2013
    Messages:
    196
    Likes Received:
    12
    Reputations:
    -7
    Подскажите, как мне выделить 1 символ из строки по условию, справа не должно быть группы символов, и слева не должно быть группы символов, вот пример моего кода который неверный:
    Code:
    preg_replace('/[^,{:]"[^},:]/', '%', $test);
    
    То есть надо по условию заменить все двойные кавычки на символ %, где нету справа от " определенной группы символов, и слева от " определенной группы символов, которые перечислены.
    В написанной мною регулярке досадная ошибка, он ищет нужную кавычку но вместе с ней забирает предыдущий и следующий символ, получается 3 символа, как это исправить чтобы регулярка их не трогала я пока не могу додуматься.
     
  11. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Вот поигрался:
    Или так:
    PHP:
    preg_replace("/(?:^,{:)\"(?:^},:)/""%"$input_lines);
    Или так:
    PHP:
    preg_replace("/([^,{:])(\")([^},:])/""$1%$3"$input_lines);
    Второй вариант 'ВЛОБ'.
     
    1 person likes this.
  12. EGNT

    EGNT New Member

    Joined:
    19 Dec 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Подскажите плз регулярку для поиска выражения:

    2233(1234) -где число 2233 фиксировано, а в скобках любое количество только цифр

    Мой вариант выводит только "2233("
    (\b(2233)[\(0-9\)]\b)
     
  13. madhatter

    madhatter Member

    Joined:
    7 Aug 2013
    Messages:
    562
    Likes Received:
    50
    Reputations:
    54
    /^2233[0-9]+$/

    Полное вхождение строки с фиксированным префиксом и ненулевым количеством любых цифр после.
     
  14. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    как убрать часть урл ?

    если файл http://sitename.ru/filenema.php?cookie=1 - в оригинале отображается

    нужно что бы ?cookie=1 убиралось из адреса
     
    #2034 GAiN, 26 Jan 2014
    Last edited: 26 Jan 2014
  15. m0Hze

    m0Hze Well-Known Member

    Joined:
    1 Nov 2008
    Messages:
    266
    Likes Received:
    655
    Reputations:
    208
    parse_url, explode('?',..)
     
  16. hpol

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

    Joined:
    11 Dec 2013
    Messages:
    62
    Likes Received:
    16
    Reputations:
    15
    Если так удаляется всё после двоеточия :.*$ , то как удалить всё до двоеточия.
    123:456
    123:456
    123:456
     
  17. madhatter

    madhatter Member

    Joined:
    7 Aug 2013
    Messages:
    562
    Likes Received:
    50
    Reputations:
    54
    /^[0-9]+:/
    Для вашего цифрового примера.
    /^.+:/
    Для любых не пустых значений до двоеточия включительно.
     
    1 person likes this.
  18. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    нужно проверять целые строки useragent на правильность ввода в текстовое поле
    но в них есть и скобки и кавычки, пробелы, точки и ещё куча знаков, как всё это включить ?
    PHP:
    Mozilla/5.0 (MacintoshUIntel Mac OS X 10_6_7ja-jpAppleWebKit/533.20.25 (KHTMLlike GeckoVersion/5.0.4 Safari/533.20.27
    с буквами латинскими понятно, а как быть с символами ?
    PHP:
    if (!preg_match("#^[a-z0-9]+$#i"$_POST['text'])){
    я пополняю базу данных для проверки пользователя, ip маска + в дополнение совпадение useragent строки, хотел таким образом отсеять ненужные символы для корректности и правильности строки
     
    #2038 GAiN, 13 Mar 2014
    Last edited: 18 Mar 2014
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    GAiN Зачем вам это нужно? Если вы считаете, что у вас есть потенциальная уязвимость с данными юзерагента - исправляйте уязвимость.

    По теме:
    PHP:
      if (!preg_match('#^[a-z0-9'.preg_quote('()/[] .''#').']+$#i'$_POST['text'])){  
     
    _________________________
  20. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Есть ответ, где содержится

    PHP:
    captcha_sid":"208559805141"
    Нужна регулярка, которая выдирает 208559805141 из общего ответа.
    Спасибо.
     
Thread Status:
Not open for further replies.