Найти в Дзене
Полезные IT советы

Полезные регулярные выражения (regexp). Часть 2

Продолжаем тему регулярок, которых многие боятся ) Пред дальнейшим прочтением рекомендую ознакомиться с прошлым материалом. 1. Получаем ссылку на видео с вставки ютуб. Видео имеет обычно такой вид: <iframe src="https://www.youtube.com/embed/xxxxxxxx" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe> Где xxxxxxxx код видео. Чтобы его получить используем: <iframe[^<>]*?src=['"]([^<>]*?)['"] Получаем 1 группу. В результате получим https://www.youtube.com/embed/xxxxxxxx Если на странице не один тег iframe тогда подойдет такой код <iframe[^<>]*?src=['"]([^<>]*?youtu[^<>]*?)['"] 2. Универсальный способ получить основную картинку для статьи или товара Заключается в том, что многие современные сайты используют метатег og:image для задания картинки, которая будет показана, если ссылку на страницу добавят в соцсеть. Полностью метатег выглядит так: <meta property="og:image" content="http://site.com/images/image.jpg"/> Чтобы убедится, что картинка есть, проверьте

Продолжаем тему регулярок, которых многие боятся ) Пред дальнейшим прочтением рекомендую ознакомиться с прошлым материалом.

1. Получаем ссылку на видео с вставки ютуб. Видео имеет обычно такой вид:

<iframe src="https://www.youtube.com/embed/xxxxxxxx" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

Где xxxxxxxx код видео. Чтобы его получить используем:

<iframe[^<>]*?src=['"]([^<>]*?)['"]

Получаем 1 группу. В результате получим https://www.youtube.com/embed/xxxxxxxx

Если на странице не один тег iframe тогда подойдет такой код

<iframe[^<>]*?src=['"]([^<>]*?youtu[^<>]*?)['"]

2. Универсальный способ получить основную картинку для статьи или товара

Заключается в том, что многие современные сайты используют метатег og:image для задания картинки, которая будет показана, если ссылку на страницу добавят в соцсеть. Полностью метатег выглядит так:

<meta property="og:image" content="http://site.com/images/image.jpg"/>

Чтобы убедится, что картинка есть, проверьте исходный код страницы. Проще всего это сделать в вашем браузере, комбинацией Ctrl+U или просмотрев в селекторе.

Чтобы получить картинку используем:

<meta[^<>]*?og:image['"][^<>]*?content=['"]([^<>]*?)['"]

Получаем 1 группу. В результате получим http://site.com/images/image.jpg

3. Получаем url товара для следующего занесения в наш интеренет-магазин

При парсинге товаров часто нужно и собрать url именно товара без сайта и категорий. Например

http://site.com/shop/category/product-01

Нам нужно получить "product-01". Для этого устанавливаем в Датакол "Тип поля" - "Спец поле". И далее во вкладке "Спец значения" - "URL" (оно уже будет выбрано по умолчанию).

И добавляем одну замену:

.*?/ - > пусто

-2

Если в урл есть завершающий слеш "/" тогда делаем 2 замены:

/$ -> пусто
.*?/ - > пусто

-3

4. Удаляем стили, классы в HTML тегах
Эта регулярка может помочь Вам при сохранении описания, где зачастую нужно сохранить теги, но вот часто в них присутствуют не нужные нам стили или классы. Чтобы их убрать используем следующие примеры:

<([a-z\d]{1,6})\ [^<>]*?> -> <$1>

Это универсальный метод, но будьте осторожны почистит все что внутри. Если нужно чистить какой-то конкретный тег, тогда так:

<div[^<>]*?> -> <div>