Когда пользователь отправляет комментарий, я помещаю все теги html в комментарии перед вставкой в мою базу данных, потому что я не хочу, чтобы они публиковали внешние ссылки (СПАМ) в комментарии. Но я только хочу отключить внешние ссылки, я хочу отображать свой собственный URL-адрес веб-сайта в качестве обычных ссылок с возможностью обращения. Как определить URL-адрес – это URL моего собственного сайта и сделать его кликабельным, как обычно?
Пример в комментарии: Бла … бла … бла … http://my_website_url.com Бла … бла … бла … Бла … бла … бла … Бла. .. бла … бла … Бла … бла … бла … Бла … бла … бла … http: //external_links.com Бла … бла … бла … Бла бла бла…
Как приведенный выше пример, я хочу ТОЛЬКО http://my_website_url.com стать кликабельной ссылкой перед вставкой в мою базу данных. (http://my_website_url.com – <a href = "http://my_website_url.com"> http://my_website_url.com </ a>)
Кроме того, не только определить основной URL-адрес: http: //my_website_url.com, но также:
-http: //www.my_website_url.com
-www.my_website_url.com
-my_website_url.com
-http: //my_website_url.com/blah/blah/blah
-http: //www.my_website_url.com/blah/blah/blah
-www.my_website_url.com/blah/blah/blah
-my_website_url.com/blah/blah/blah
или любые URL-адреса, которые находятся на моем веб-сайте: http: //www.my_website_url.com/xxx/xxx/xxx/xxx
Если бы, пожалуйста, напишите точно php-коды, чтобы я мог скопировать и вставить в мой файл, потому что у меня мало знаний только с php. Спасибо, парни. 🙂
Я написал для него функцию:
function makeSiteClickable($dom, $website = 'my_website_url.com') { $words = explode(' ', $dom); foreach($words as &$word){ if(strpos($word, $website) == true){ // there you can make some sterilizing $href = str_replace('http://', '', $word); $href = str_replace('www.', '', $href); $word = '<a href="http://'.urlencode($href).'">'.$word.'</a>'; } } return implode(' ', $words); }