Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> URL, и снова он 
:(
    Опции темы
-=Ustas=-
Дата 27.2.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



Вот эта функция:
Код

function ReplaceUrl($string)
{
    $string = preg_replace("#(^[^\[]|\s)((www)\.[-\w]+(?:\.[-\w]+)+\b[-\w:@&?=+,!/;\~*$\.\'\%]*)(?<![\.,?!)])#is", " http://\\2", $string);
    $string = preg_replace("#(^[^\[]|\s)((http|ftp)://[-\w]+(?:\.[-\w]+)+\b[-\w:@&?=+,!/;\~*$\.\'\%]*)(?<![\.,?!)])#is", " [url]\\2[/url]", $string);
    $string = preg_replace("#\[url\](.*)\\[\/url\]#isU", "<a target=\"_blank\" href=\"\\1\">\\1</a>", $string);
    $string = preg_replace("#\[url=(.*)\](.*)\[\/url\]#isU", "<a target=\"_blank\" href=\"\\1\">\\2</a>", $string);

    return $string;
}

только для урл


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
PARROT
Дата 27.2.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Такс........ все заработало http://pk.traktora.spb.ru/url2.php
Но вот если мыло от руки первой строкой, то режет 1 знак.
УРА! Осталось чуть-чуть! Мы у цели! (Как мало нужно человеку для счастья?)
Вопрос: Как обмануть, последний глюк?
Код

<?
function ReplaceUrl($text)
{
   $text = preg_replace("%(?:^|[A-Z0-9])((?:http|ftp)://[-\w]+(?:\.[-\w]+)+\b[-\w:@&?=+,!/;\~*$\.\'\%]*)(?<![\.,?!)])%is", "[url]\\1[/url]", $text);
    $text = preg_replace("%\[url\](.+?)\\[\/url\]%is", "<a target=\"_blank\" href=\"\\1\">\\1</a>", $text);
    $text = preg_replace("#\[url=(.*)\](.*)\[\/url\]#isU", "<a target=\"_blank\" href=\"\\1\">\\2</a>", $text);
  $text = preg_replace("#(^[^\[]|\s)((\w|\d){1}(\w|\d|\-|_|\.|\+)+?(\w|\d){1}@((\w|\d){1,}(\-|\.){0,1}(\w|\d){1,})+?\.(\w){2,4})#is", "[email]\\2[/email]", $text);

    $text = preg_replace("#\[email\](.*)\[\/email\]#isU", "<a target=\"_blank\" href=mailto:\\1>\\1</a>", $text);
    $text = preg_replace("#\[email=(.*)\](.*)\[\/email\]#isU", "<a target=\"_blank\" href=mailto:\\1>\\2</a>", $text);
    $text = preg_replace("%\[pict\](.*)\\[\/pict\]%is", "<a target=\"_blank\" href=\"\\1\"><img src=\\1 border=0></a>", $text);
    return $text;
}
$string = "http://vingrad.ru <br>dfjvbh df bdsjvhbzxjhc vb <br> [url]http://vingrad.ru[/url]<br> dfkjn fv <br>[url=http://vingrad.ru]PARROT[/url]<br>dfjkvn kjd vn dfjk vnkdjs vnkdsjf vndsv<br> [email]PARROT[/email]<br>[[email protected]]Íàòàëèÿ[/email]<br> [email protected] <br>[pict]http://web/drug.jpg[/pict]";
$string = ReplaceUrl($string);
echo $string;
?>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
-=Ustas=-
Дата 27.2.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



PARROT, smile поставь в реге мыла нулевой кармашек... т.е.:
Код

$text = preg_replace("#(^[^\[]|\s)((\w|\d){1}(\w|\d|\-|_|\.|\+)+?(\w|\d){1}@((\w|\d){1,}(\-|\.){0,1}(\w|\d){1,})+?\.(\w){2,4})#is", "[email]\\0[/email]", $text);

Добавлено @ 14:50
Ты убрала мой рег на урл, а твой рег находит урл только в начале строки smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
PARROT
Дата 27.2.2006, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



-=Ustas=-, а что это такое? Что это было? Все работает! Ура!
Добавлено @ 14:58
Я объясню почему я его убрала, потому что этот рег не подсвечивал простую ссылку URLa, введенную вручную. Незнаю что ему не хватало...


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
-=Ustas=-
Дата 27.2.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



Цитата(PARROT @ 27.2.2006, 14:51 Найти цитируемый пост)
а что это такое? Что это было?

Обрезанное совпадение подставляли. ))
Цитата(PARROT @ 27.2.2006, 14:51 Найти цитируемый пост)
Я объясню почему я его убрала, потому что этот рег не подсвечивал простую ссылку URLa, введенную вручную. Незнаю что ему не хватало...

Как это не подсвечивал, у меня работает на отлично.




--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.