Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как удалить все ссылки из текста PHP?

Как удалить все ссылки из текста PHP?


     11.02.2015    Общие вопросы, Общие вопросы по PHP    2838

вопрос
Здравствуйте. Ломаю голову уже не первый час, как можно из входящего текста (например из текстового поля формы) удалить, при добавлении материала, все URL'ы.

Не ссылки:
<a></a>


А именно урл:
вебсайт.рф site.ru http:// site.ru и прочие.

Может есть какое-то регулярное выражение или функция? Заранее спасибо за помощь.

Ответил: FastFud


1. Делайте как написал чуть ниже vitnet
2. Или же еще проще, думаю будет так
preg_replace ("(.ru|.com|.net|www.|https?://)", '', $test);

Комментарии пользователей (9)

pavel31
4

346 | 158

pavel31 - 11 февраля 2015 20:04 - Юзер

Можно удалить php функцией strip_tags она удаляет все html теги из текста вместе со ссылками. Читайте здесь

vk_159926832
206 | 5

vk_159926832 - 12 февраля 2015 10:26 - Юзер

А если ссылка размещена как текст? strip_tags у меня стоит уже, а текстовые ссылки остаются. Что делать?

vk_159926832
206 | 5

vk_159926832 - 12 февраля 2015 15:08 - Юзер

Поднимаю вопрос

FastFud
50

1599 | 588

FastFud - 12 февраля 2015 15:48 - Юзер

$test = "Текст http://google.com/ OR https://google.com OR https://www.google.com/ OR http://www.google.com OR google.com OR www.google.com OR //google.com OR /google.com";
echo preg_replace('@((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.]*(\?\S+)?)?)*)@', '', $test);

vk_159926832
206 | 5

vk_159926832 - 13 февраля 2015 19:01 - Юзер

Спасибо большое, только одно "но", регулярка удаляет еще числа, типа: 3.141, 555.123.4567 и другие. Что можно сделать?

FastFud
50

1599 | 588

FastFud - 13 февраля 2015 19:14 - Юзер

***Комментарий удален***

vk_159926832
206 | 5

vk_159926832 - 15 февраля 2015 17:14 - Юзер

Повторите пожалуйста

vitnet
218

2172 | 930

vitnet - 12 февраля 2015 15:55 - Эксперт

preg_match_all ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org|\.ua/i", $story, $matches)

vk_159926832
206 | 5

vk_159926832 - 13 февраля 2015 18:55 - Юзер

Спасибо всем за ответы ответ FastFud подошел как надо!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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