• Выдернуть из строчки адреса, как?

    GeneMoss
    @GeneMoss
    void
    $str = 'case:s:webima:http://pk.ve.someurl.com:80/demo,on1_hhh_5@s36016,mob:webima:http://pk.ve.someurl.com:80/demo,t_k275292400,pr:webima:http://pk.ve.someurl.com:80/demo,on0_SHM_12@s36018,default:webima:http://pk.ve.someurl.com:80/demo,5554897363a';
    
    preg_match_all('/http:[^,]*,[^,]*/', $str, $matches);
    
    print_r($matches[0]);


    Краткое описание регулярного выражения:
    http:[^,]*,[^,]*

    1. http: — ищем шаблон, который бы начинался с «http:».
    2. [^,]* — ищем последовательность символов, в которой отсутствует запятая. Квадратные скобочки — это синтаксис определения возможных символов, из которых может состоять последовательность. Например [abc] — это шаблон одного символа, который совпадает с только с одной из букв «a», «b» или «c». Крышечка «^» — отрицание присутствия перечисленных символов. Звездочка «*» обозначает повторяемость этого символа от 0 до бесконечного числа раз.
    3. , — просто ищем запятую.
    4. [^,]* — см. п. 2. Т.е. в конце должна идти последовательность, которая не содержит запятые.

    Таким образом, шаблон читать так:
    (http:)(любые символы, кроме запятой)(,)(любые символы, кроме запятой)
    Ответ написан
    1 комментарий