Задать вопрос
hyget
@hyget

Как регуляркой взять ссылку?

Здравствуйте, нужно из выбрать все url ссылкок из:
a href="https://site.com/aaa-bbb-ccc-ddd-eee-fff-eee"
a href="https://site.com/aaaaa-bbbb-ccccccc-ddddd-eeeee"

но при одном условии: если в ссылке встречается более 3-х символов " - "
т,е такая ссылка a href="https://site.com/aaa-bbb-ccc не пройдет
Подскажите пожалуйста, как это можно реализовать)
  • Вопрос задан
  • 963 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
iNickolay
@iNickolay
  1. Регулярка для поимки всех ссылок href\=\"(.*)\"
  2. Ну а количество "тире" лучше узнать разбив строку explode'ом и смотреть "длину" массива
$output = [];
$html = '
<a href="https://site.com/aaa-bbb-ccc-ddd-eee-fff-eee">
<a href="https://site.com/aaa-bbb-ccc">
<a href="https://site.com/aaaaa-bbbb-ccccccc-ddddd-eeeee">';

preg_match_all('/href\=\"(.*)\"/', $html, $matches);

foreach($matches[1] as $link) {
    $dashes = explode('-', $link);
    if (count($dashes) > 3) $output[] = $link;
}

var_dump($output);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте!

Есть сайт для генерации регулярок - txt2re.com
вдруг вам поможет)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽