@kna999

Как правильно создать маску ссылки для регулярного выражения?

Всем привет, запутался с регулярками, нужно создать маску для поиска ссылок регулярным выражением.
https://www.site.ru/news/###/###/###/###/SAMASSILKA.html

Получилось только так
href="([^"]+?)"
Но забирает все ссылки со страницы вообще, а нужно конкретного формата как выше
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 1
Immortal_pony
@Immortal_pony Куратор тега PHP
Я не большой любитель регулярных выражений, но подскажу как решить задачу без них:
function doesMatchMyFormat(string $url) : bool {
    if (filter_var($url, FILTER_VALIDATE_URL) === false) {
        return false;
    }
    
    $host = parse_url($url, PHP_URL_HOST);
    if ($host !== "www.site.ru") {
        return false;
    }
    
    $path = parse_url($url, PHP_URL_PATH);
    $parts = explode("/", $path);
    if ($parts[1] !== "news") {
        return false;
    }
    if (count($parts) !== 7) {
        return false;
    }
    
    return true;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 14:40
1000 руб./за проект
03 мая 2024, в 14:39
500 руб./за проект