<?php
echo "THIS FUNCTION MUST MAKE A LINKS";
function autolink($text)
{
$search = array("'[\w\+]+://[A-z0-9\.\?\+\-/_=&%#:;]+[\w/=]+'si","'([^/])(www\.[A-z0-9\.\?\+\-/_=&%#:;]+[\w/=]+)'si","'[\w]+[\w\-\.]+@[\w\-\.]+\.[\w]+'si");
$replace = array('<a href="$0" target="_blank" rel="nofollow">$0</a>','$1<a href="http://$2" target="_blank" rel="nofollow">$2</a>','<a href="mailto:$0" rel="nofollow">$0</a>');
return preg_replace($search, $replace, $text);
}
$zlink="www.google.com";
echo "<br>".autolink($zlink);
?>
Спустя 10 минут (8.02.2011 - 18:21) Snus написал(а):
<?php
$text = 'Вот сайт гугла - http://www.google.ru Как вам?';
$text = ereg_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]', '<a href="\\0">\\0</a>', $text);
echo $text;
?>
Спустя 5 минут, 29 секунд (8.02.2011 - 18:26) Stasonix написал(а):
Цитата (Snus @ 8.02.2011 - 15:21) |
<?php $text = 'Вот сайт гугла - http://www.google.ru Как вам?'; $text = ereg_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]', '<a href="\\0">\\0</a>', $text); echo $text; ?> |
вот что выдало:
Deprecated: Function ereg_replace() is deprecated in Z:\home\linkcheck.ua\www\index.php on line 17
Вот сайт гугла - http://www.google.ru Как вам?
17-ая строка естественно это твоя регулярка, и хттп у меня и так выделяется, а вот без хттп не хочет, вот так ввв.гугл.ком не получается?
Спустя 2 минуты, 59 секунд (8.02.2011 - 18:29) Snus написал(а):
Stasonix
В новых версиях пхп ее убрали
В новых версиях пхп ее убрали
Спустя 2 часа, 2 минуты, 25 секунд (8.02.2011 - 20:32) Dron19 написал(а):
preg_replace поможет
Спустя 8 минут, 23 секунды (8.02.2011 - 20:40) Stasonix написал(а):
Цитата (Dron19 @ 8.02.2011 - 17:32) |
preg_replace поможет |
как именно?
Спустя 11 минут, 51 секунда (8.02.2011 - 20:52) Dron19 написал(а):
Вот так
Работает если в переменной текст только одна ссылка и если она начинается с http://
С тебя плюс =)
$text = 'Вот сайт гугла - http://www.google.ru Как вам?';
$text = preg_replace("/.*?(http:\/\/.*\.[a-z]{2,5}?).*/i","\\1",$text);
echo $text . "<br>"; // http://www.google.ru
Работает если в переменной текст только одна ссылка и если она начинается с http://
С тебя плюс =)
Спустя 3 минуты, 28 секунд (8.02.2011 - 20:56) Dron19 написал(а):
если помогло конечно, а если не помогло или не совсем то, что нужно, то не ставь плюс. Но я хотел помочь...
Спустя 2 минуты, 46 секунд (8.02.2011 - 20:58) Stasonix написал(а):
Цитата (Dron19 @ 8.02.2011 - 17:56) |
если помогло конечно, а если не помогло или не совсем то, что нужно, то не ставь плюс. Но я хотел помочь... |
Цитата (Dron19 @ 8.02.2011 - 17:52) |
Работает если в переменной текст только одна ссылка и если она начинается с http:// С тебя плюс =) |
С меня минус, у меня фун-я и так выделяет все что с http://, а мне надо чтоб оно выделяло и такое www.google.com, и самое главное! Если прописать вот так:
$string = 'Пример: www.gorodvomne.ru http://gorodvomne.ru name@mail.ru';т.е. возможно проблема в кавычках, но я не знаю как ее решить.
print autolink($string);
Спустя 13 секунд (8.02.2011 - 20:59) Dron19 написал(а):
что бы и просто www вытаскивало
/.*?(http:\/\/.*\.[a-z]{2,5}?).*/i
перепиши на
/.*?((http:\/\/|www).*\.[a-z]{2,5}?).*/i
и заработает
/.*?(http:\/\/.*\.[a-z]{2,5}?).*/i
перепиши на
/.*?((http:\/\/|www).*\.[a-z]{2,5}?).*/i
и заработает
Спустя 5 минут, 38 секунд (8.02.2011 - 21:04) Dron19 написал(а):
Цитата (Stasonix @ 8.02.2011 - 17:58) | ||||
С меня минус, у меня фун-я и так выделяет все что с http://, а мне надо чтоб оно выделяло и такое www.google.com, и самое главное! Если прописать вот так: $string = 'Пример: www.gorodvomne.ru http://gorodvomne.ru name@mail.ru';т.е. возможно проблема в кавычках, но я не знаю как ее решить. |
я те тут пытаюсь помочь, а ты минус? Ну делай тогда сам.
Спустя 4 минуты, 33 секунды (8.02.2011 - 21:09) Stasonix написал(а):
Цитата (Dron19 @ 8.02.2011 - 18:04) |
я те тут пытаюсь помочь, а ты минус? Ну делай тогда сам. |
я только зарегился, незнаю к чему эти все плюсы и минусы, просто хотел сказать что фун-ия с хттп и так работает, да и вообще если так ввести:
$string = 'Пример: www.gorodvomne.ru http://gorodvomne.ru name@mail.ru';то все выделяется, возможно причина в кавычках.
print autolink($string);
Спустя 9 минут, 14 секунд (8.02.2011 - 21:18) Stasonix написал(а):
идиотизм, но в таком виде:
оно выделяется потому-что после слова Пример стоит двоеточие ":"., если его убрать, то оно ничего не выделит.
$string = 'Пример: www.gorodvomne.ru http://gorodvomne.ru name@mail.ru';
print autolink($string);
оно выделяется потому-что после слова Пример стоит двоеточие ":"., если его убрать, то оно ничего не выделит.