И вот еще нашел в интернете скрипт но он не работает, в чем ошибка?
// Функция настройки длинны создаваемой ссылки
function trimlink($text, $length) {
$dec = array("&", """, "'", "\", '"', "'", "<", ">");
$enc = array("&", """, "'", "\", """, "'", "<", ">");
$text = str_replace($enc, $dec, $text);
if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."...";
$text = str_replace($dec, $enc, $text);
return $text;
}
// Загоняем преобразуемое текстовое сообщение в переменную
$text = "Это конечно все хорошо! Но я знаю еще один хороший сайт - http://StickOn.ru, а так же советую посетить www.denismalyugin.ru";
// Делаем колдовство и находим ссылки :-)
$text = preg_replace('#(^|[n ])((http|https|ftp|ftps)://[w#$%&~/.-;:=,?@[]()+]*)#sie' , "'\1<a href="'.trim('\2').'" target="_blank" title="autolink">'.trimlink('\2', 20).(strlen('\2')>30?substr('\2', strlen('\2')-10, strlen('\2')):'').'</a>'", $text);
$text = preg_replace("#(^|[n ])((www|ftp).[w#$%&~/.-;:=,?@[]()+]*)#sie", "'\1<a href="http://'.trim('\2').'" target="_blank" title="autolink">'.trimlink('\2', 20).(strlen('\1')>30?substr('\2', strlen('\2')-10, strlen('\2')):'').'</a>'", $text);
// Выводим текстовое сообщение на экран
echo $text;
Спустя 4 минуты, 20 секунд (7.03.2011 - 19:05) quickxyan написал(а):
что значит кликабельные? ссылка она как бы для того и предназнаена что бы по ней кликали.
Спустя 6 минут, 28 секунд (7.03.2011 - 19:12) denis79513 написал(а):
Создай html документ напиши туда http://mail.ru открой его в браузере и попробуй кликнуть, ну как? Это на форуме все ссылки которые я пишу становятся кликабельными, т.к. на нем есть эта функция.
Спустя 3 минуты, 11 секунд (7.03.2011 - 19:15) Dron19 написал(а):
Цитата (denis79513 @ 7.03.2011 - 16:12) |
Создай html документ напиши туда http://mail.ru открой его в браузере и попробуй кликнуть, ну как? Это на форуме все ссылки которые я пишу становятся кликабельными, т.к. на нем есть эта функция. |
вот ему эта функция и нужна, он хочет ее написать на РНР. Не тормози
Спустя 9 минут, 50 секунд (7.03.2011 - 19:25) denis79513 написал(а):
Неужели никто с этим не сталкивался?
Спустя 7 минут, 50 секунд (7.03.2011 - 19:32) inpost написал(а):
denis79513
Посмотри внимательно, там ошибка вверху! Даже тут помечено неверно! Что ты хотел добиться этим: " " "
Посмотри внимательно, там ошибка вверху! Даже тут помечено неверно! Что ты хотел добиться этим: " " "
Спустя 31 секунда (7.03.2011 - 19:33) Dron19 написал(а):
inpost, там целых три ошибки таких
Спустя 1 минута, 2 секунды (7.03.2011 - 19:34) Dron19 написал(а):
сейчас я попробую тебе код написать
Спустя 2 минуты, 24 секунды (7.03.2011 - 19:36) Dron19 написал(а):
с тебя плюс в карму :)
#@
#@
#@ Author by Dron19
#@
#@
$indexer = "Привет, зайди на http://yandex.ru, а еще можешь зайти на www.google.com, кстати www.youtube.com - тут очень много видео";
preg_match_all("#(http://|www.)[a-z0-9_\.-]+\.[a-z]{2,5}#iu",$indexer,$match);
echo print_r($match) . '<br><br>';
foreach($match[0] as $val) {
$link = "<a href='".$val."'>".$val."</a>";
$indexer = str_replace($val,$link,$indexer);
}
echo $indexer . '<br><br>';
Спустя 2 минуты, 11 секунд (7.03.2011 - 19:39) inpost написал(а):
Dron19
http://www.phpforum.ru - не пройдет =)
условия http:// - ВСЕГДА!
www - может быть, может не быть!
http://www.phpforum.ru - не пройдет =)
условия http:// - ВСЕГДА!
www - может быть, может не быть!
Спустя 1 минута, 43 секунды (7.03.2011 - 19:40) Dron19 написал(а):
Цитата (inpost @ 7.03.2011 - 16:39) |
Dron19 http://www.phpforum.ru - не пройдет =) условия http:// - ВСЕГДА! www - может быть, может не быть! |
ну дык я же не сделал универсальную, но если добавить туда всего пару случаев и почти для всех видов ссылок пройдет
Спустя 1 минута, 4 секунды (7.03.2011 - 19:41) denis79513 написал(а):
Цитата (Dron19 @ 7.03.2011 - 16:36) |
с тебя плюс в карму :)
|
Не работает, запускаю через денвер, в результате отображается
Array ( [0] => Array ( ) [1] => Array ( ) ) 1
Привет, зайди на http://yandex.ru, а еще можешь зайти на www.google.com, кстати www.youtube.com - тут очень много видео
в итоге ссылки не кликабельны
Спустя 1 минута, 19 секунд (7.03.2011 - 19:43) Dron19 написал(а):
#@
#@
#@ Author by Dron19
#@
#@
$indexer = "Привет, зайди на http://yandex.ru, а еще можешь зайти на www.google.com, кстати www.youtube.com - тут очень много видео, http://www.phpforum.ru";
preg_match_all("#(http://|www.|http://www.|ftp://|ftps://)[a-z0-9_\.-]+\.[a-z]{2,5}#iu",$indexer,$match);
echo print_r($match) . '<br><br>';
foreach($match[0] as $val) {
$link = "<a href='".$val."'>".$val."</a>";
$indexer = str_replace($val,$link,$indexer);
}
echo $indexer . '<br><br>';
а теперь пройдет
Спустя 1 минута, 46 секунд (7.03.2011 - 19:44) Dron19 написал(а):
потому что у тебя страница не в кодировке utf-8 скорей всего.
Замени на
и скажи результат
$indexer = "Привет, зайди на http://yandex.ru, а еще можешь зайти на www.google.com, кстати www.youtube.com - тут очень много видео";
preg_match_all("#(http://|www.)[a-z0-9_\.-]+\.[a-z]{2,5}#iu",$indexer,$match);
Замени на
$indexer = "Привет, зайди на http://yandex.ru, а еще можешь зайти на www.google.com, кстати www.youtube.com - тут очень много видео, http://www.phpforum.ru";
preg_match_all("#(http://|www.|http://www.|ftp://|ftps://)[a-z0-9_\.-]+\.[a-z]{2,5}#i",$indexer,$match);
и скажи результат
Спустя 1 минута, 31 секунда (7.03.2011 - 19:46) inpost написал(а):
.com.ua - не пройдет =)
(\.[a-z]{2,5})+ - так решает.
Модификаторы сделай: ius для регулярки!
(\.[a-z]{2,5})+ - так решает.
Модификаторы сделай: ius для регулярки!
Спустя 33 секунды (7.03.2011 - 19:47) Dron19 написал(а):
да, это из-за кодировки
Спустя 2 минуты, 8 секунд (7.03.2011 - 19:49) Dron19 написал(а):
Спустя 1 минута, 17 секунд (7.03.2011 - 19:50) Dron19 написал(а):
короче, если ты работаешь не с utf-8 кодировкой, то вот код, который сделает ссылки кликабельными
<?php
#@
#@
#@ Author by Dron19
#@
#@
$indexer = "Привет, зайди на http://yandex.ru, а еще можешь зайти на www.google.com, кстати www.youtube.com - тут очень много видео, http://www.phpforum.ru";
preg_match_all("#(http://|www.|http://www.|ftp://|ftps://)[a-z0-9_\.-]+\.[a-z]{2,5}#i",$indexer,$match);
foreach($match[0] as $val) {
$link = "<a href='".$val."'>".$val."</a>";
$indexer = str_replace($val,$link,$indexer);
}
echo $indexer . '<br><br>';
?>
Спустя 1 минута, 45 секунд (7.03.2011 - 19:52) denis79513 написал(а):
еще можно https добавить=)
А по делу, как это убрать, или это только в денвере отображается?
И теперь ссылки кликабельны, но остальной текст вокруг ссылок вот такой:
Если поставить на хостинг то будет норм, а если на денвер ставишь с кодировкой utf всегда такая фигня, не знаете, как сменить кодировку денвера?
А по делу, как это убрать, или это только в денвере отображается?
Array ( [0] => Array ( [0] => http://yandex.ru [1] => www.google.com [2] => www.youtube.com [3] => http://www.phpforum.ru ) [1] => Array ( [0] => http:// [1] => www. [2] => www. [3] => http:// ) ) 1
И теперь ссылки кликабельны, но остальной текст вокруг ссылок вот такой:
������, ����� �� http://yandex.ru, � ��� ������ ����� �� www.google.com, ������ www.youtube.com - ��� ����� ����� �����, http://www.phpforum.ru
Если поставить на хостинг то будет норм, а если на денвер ставишь с кодировкой utf всегда такая фигня, не знаете, как сменить кодировку денвера?
Спустя 1 минута, 47 секунд (7.03.2011 - 19:53) denis79513 написал(а):
Все, проблему решил, спасибо огромное!!!
С меня ОГРОМНЫЙ плюс.
С меня ОГРОМНЫЙ плюс.
Спустя 2 минуты, 33 секунды (7.03.2011 - 19:56) Dron19 написал(а):
обращайся, если какая-нибудь ссылка не пройдет, говори, подкрашу код и все будет ок
Спустя 3 минуты, 38 секунд (7.03.2011 - 20:00) Dron19 написал(а):
inpost, адрес даже аткой пройдет http://www.tester.phpforum.com.ru
Спустя 5 минут, 14 секунд (7.03.2011 - 20:05) inpost написал(а):
Dron19
Ошибся, точно будет, зато такой уже не будет:
phpforum.ru/ -такой вариант часто пишут.
или
inpost.dp.ua/lessons/lessons.php - из-за слешей, как ты догадался.
Ошибся, точно будет, зато такой уже не будет:
phpforum.ru/ -такой вариант часто пишут.
или
inpost.dp.ua/lessons/lessons.php - из-за слешей, как ты догадался.
Спустя 10 минут, 57 секунд (7.03.2011 - 20:16) Dron19 написал(а):
Цитата (inpost @ 7.03.2011 - 17:05) |
Dron19 Ошибся, точно будет, зато такой уже не будет: phpforum.ru/ -такой вариант часто пишут. или inpost.dp.ua/lessons/lessons.php - из-за слешей, как ты догадался. |
знаешь, этот форум не может прочитать даже те, которые предложенный скрипт читает, это вроде только после www. читает и все и этого достаточно, что бы Вам модератором париться удалять рекламу =) Ты представляяешь если все форумы такой скрипт будут использовать?
Спустя 4 минуты, 59 секунд (7.03.2011 - 20:21) inpost написал(а):
http://phpforum.ru/ - работает! В твоём скрипте - не работает!
Спустя 30 минут, 8 секунд (7.03.2011 - 20:51) Dron19 написал(а):
inpost, да елки палки, я же человеку показал принцип. Ну а дописать может каждый. Я же не претендую там на лучший скрипт года... Хватит критиковать!
Спустя 4 часа, 27 минут, 17 секунд (8.03.2011 - 01:18) inpost написал(а):
Dron19
Ты первый начал про форум наш говорить. Где критика? Просто скрипты такие лишь бы как не делаются =) Если делаешь, так делай сразу хорошо! =)
Ты первый начал про форум наш говорить. Где критика? Просто скрипты такие лишь бы как не делаются =) Если делаешь, так делай сразу хорошо! =)