Поравить регулярку для вырезания ссылки

Тема в разделе "Регулярные выражения", создана пользователем l0cky, 27 янв 2019.

  1. l0cky

    l0cky Постоялец

    Регистр.:
    3 май 2006
    Сообщения:
    111
    Симпатии:
    36
    есть исходный код
    Код:
    <image mask="url(#userpicmask-200)" y="0" x="0" width="200" height="200" id="user_pic_160084" alt="Вася Алексеев" xlink:href="https://lh3.googleusercontent.com/aCYkLTOjGmX60drwvLb7czt3qMBapV5GoLiUbgQO236IJrad2ladUcnyvwNGM8uN8-f4PsGniWp7wHAMyVzux1iZ0Q=w400-h400-lе0-c" style="width:200px; height:200px;" class="format-12"></image>
    надо вырезать ссылки на картинки такого вида

    Код:
    https://lh3.googleusercontent.com/aCYkLTOjGmX60drwvLb7czt3qMBapV5GoLiUbgQO236IJrad2ladUcnyvwNGM8uN8-f4PsGniWp7wHAMyVzux1iZ0Q=w400-h400-lе0-c
    подобрал регулярку, которая это делает, но она захватывает и символ кавычек ' " '
    https:\/\/lh3.googleusercontent.com\/.+?"

    как исправить, чтобы этот символ в выборку не попадал ?
     
  2. C I A

    C I A Создатель

    Регистр.:
    3 янв 2019
    Сообщения:
    2
    Симпатии:
    1
    xlink:href="(.+?)"
    жадная регулярка
    как исправить? просто не бери к себе "
    https:\/\/lh3.googleusercontent.com\/(.+)"
     
    Последнее редактирование: 27 янв 2019
  3. l0cky

    l0cky Постоялец

    Регистр.:
    3 май 2006
    Сообщения:
    111
    Симпатии:
    36
    в таком варианте она становится ещё более 'жадной'
     
  4. C I A

    C I A Создатель

    Регистр.:
    3 янв 2019
    Сообщения:
    2
    Симпатии:
    1
    может стоит выложить весь участок который парсить. Уйдет в [1] , не в [0]
    надо смотреть . может попробовать https:\/\/lh3.googleusercontent.com\/(.+?)"\ style
    и брать 1 массив из цикла.
    жадная регулярка.
     
    Последнее редактирование: 28 янв 2019
    l0cky нравится это.
  5. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.045
    Симпатии:
    719
    PHP:
    $content '<image mask="url(#userpicmask-200)" y="0" x="0" width="200" height="200" id="user_pic_160084" alt="Вася Алексеев" xlink:href="https://lh3.googleusercontent.com/aCYkLTOjGmX60drwvLb7czt3qMBapV5GoLiUbgQO236IJrad2ladUcnyvwNGM8uN8-f4PsGniWp7wHAMyVzux1iZ0Q=w400-h400-lе0-c" style="width:200px; height:200px;" class="format-12"></image>';
    preg_match("/xlink\:href=\"(.*?)\"/i",$content,$match);
    echo  
    $match[1];  // https://lh3.googleusercontent.com/aCYkLTOjGmX60drwvLb7czt3qMBapV5GoLiUbgQO236IJrad2ladUcnyvwNGM8uN8-f4PsGniWp7wHAMyVzux1iZ0Q=w400-h400-lе0-c
     
    l0cky нравится это.
  6. rafor

    rafor Постоялец

    Регистр.:
    27 июн 2011
    Сообщения:
    139
    Симпатии:
    36
    @l0cky, попробуй такую
    Код:
    https:\/\/lh3.googleusercontent.com\/.+?(?=")
     
    l0cky нравится это.
  7. l0cky

    l0cky Постоялец

    Регистр.:
    3 май 2006
    Сообщения:
    111
    Симпатии:
    36
    Спасибо, идеально работает