preg_replace проблем!

kopura

Registered
Добър ден народе,

Тука се занимавам права една система и стигнах до един проблем.
Цялата работа е там , че искам когато някой потребител напише

Код:
http://ne6to si 
https://ne6to si
ftp://ne6to si

Искам да стане така :

Код:
<a href='http://ne6to si'>http://ne6to si </a>
<a href='https://ne6to si'>https://ne6to si</a>
<a href='ftp://ne6to si'>ftp://ne6to si</a>

С preg_match се справям ама с preg_replace не мога.

Благодаря предварително :)
 
PHP:
define('REGEX_URL','/http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/');

if(preg_match(REGEX_URL, $input, $url)) {
   echo "<a href=\"{$url[0]}\">{$url[0]}</a>";
} else {
   echo "<p>No Match Found</p>";
}
 
Да, но въпроса е какво става ако в коментара има примерно 2 или повече линка:

Neshto si neshto si http://site neshto si nehsot si https://sait1 oshte nesho ftp://ftp neshto si

Инче и аз се сетих за варянта с preg_match.
 
Код:
define('REGEX_URL','/http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/g');

if(preg_match(REGEX_URL, $input, $url)) {
   echo "<a href=\"{$url[0]}\">{$url[0]}</a>";
} else {
   echo "<p>No Match Found</p>";
}

Флагчето g е за глобално търсене.
 

Back
Горе