Найдите строку, которая меняет ее позицию в URL

У меня есть URL-адрес, который когда-нибудь меняет его положение

мои URL-адреса выглядят как

https://video.twimg.com/ext_tw_video/841791481534803968/pu/vid/320x180/egCAExYQdRBw08fb.mp4
https://video.twimg.com/ext_tw_video/841791481534803968/pu/vid/1280x720/GVsCGddpL9QoO4_B.mp4
https://video.twimg.com/ext_tw_video/841791481534803968/pu/vid/640x360/33qcUEzFw-WS0inJ.mp4

В этих URL-адресах мне нужно извлечь «320x180», «1280x720», «640x360». Их еще много, и список можно продолжить.

Кроме того, ссылка меняется, например, иногда в URL-адресе нет / pu / vid / part. Я пробовал использовать функцию взрыва Php, но при изменении позиции. Их сложно найти. Например

https://video.twimg.com/ext_tw_video/640x360/pu/vid/841791481534803968/33qcUEzFw-WS0inJ.mp4

для постоянной части я использовал этот код

$breaker=(explode("/",$video->url));
$quality = $breaker[6];

Но поскольку они меняются местами и их ценности различаются. Есть ли другой подход к этому? Также, если значения остаются такими же, как я могу извлечь URL-адрес качества видео

например, если сценарий обнаружит, что качество составляет 1280x720, он даст мне URL-адрес и будет перебирать их, чтобы найти различные статические качества видео?

https://video.twimg.com/ext_tw_video/841791481534803968/pu/vid/1280x720/GVsCGddpL9QoO4_B.mp4

регулярное выражение для 3-4 цифр 'x' 3-4 цифры?

user9487972 12.06.2018 01:23

Попробуйте (?<=/)\d{3,4}x\d{3,4}(?=/). См. Демо

Matt.G 12.06.2018 01:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны просто иметь возможность использовать preg_match() или preg_match_all() в регулярном выражении \d+x\d+, которое соответствует x, которому предшествует и за которым следует любое количество цифр.

preg_match("/\d+x\d+/", $input_line, $output_array);
preg_match_all("/\d+x\d+/", $input_lines, $output_array);

Это можно увидеть при работе с Regex101 здесь и PHPLiveRegex здесь.

Вы могли бы быть немного более конкретным и использовать (?<=/)\d{1,4}x\d{1,4}(?=/), который гарантирует, что в каждой группе будет от 1 до 4 цифр и что целевая строка заключена в два /, хотя это, вероятно, не нужно.

Другие вопросы по теме