У меня есть этот код здесь, который обнаруживает URL-адреса внутри строки, содержащей содержимое HTML
$regex = "/(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
preg_match_all($regex, $desc, $url);
print_r($url);
Код отлично работает, однако print_r($url)
возвращает URL-адреса, такие как:
http://url.com/</p>
</p>
просто закрывает <p>
, но я не хочу его в своем URL-адресе.
Как я могу это исключить?
Спасибо, Питер
Я использовал функцию strip_tags
чтобы удалить все теги HTML, а затем preg_match_all()
чтобы получить каждый URL-адрес:
$regex = "/(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
preg_match_all($regex, strip_tags(html_entity_decode($desc)), $url);
print_r($url);
Надеюсь, это поможет другим в будущем!
Питер