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

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

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

Получилось только так
href="([^"]+?)"
Но забирает все ссылки со страницы вообще, а нужно конкретного формата как выше
  • Вопрос задан
  • 318 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 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;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы