Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ссылки

Сообщения:  [1-10]   [11-15] 

 
 автор: afdm   (18.01.2008 в 19:55)   письмо автору
 
   для: kasmanaft   (18.01.2008 в 18:13)
 

да, действительно! извините! щас разберусь :))) опять наверное где-нибудь что-нибудь забыл :))))) ещё раз извините и спасибо огромное за помощь!!!

   
 
 автор: kasmanaft   (18.01.2008 в 18:13)   письмо автору
 
   для: afdm   (18.01.2008 в 15:18)
 

Не может быть... покажите код.
Если в мой код вставить этот урл, работает? У меня вроде работает...

> cкоро номер совпадёт с кол-вом сообщений
Жду, не дождусь :)) Как бы не прозевать)

   
 
 автор: afdm   (18.01.2008 в 15:18)   письмо автору
 
   для: afdm   (18.01.2008 в 14:51)
 

:((( неа, всё-таки не полностью работает :(((
в обычной ссылке:

<a href="http://www.ya.ru">ya.ru</a>

после <a href=" всё остальное преобразуется в ссылку, причем очень некорректную :((((((((((
http://www.ya.ru">ya.ru</a>

   
 
 автор: afdm   (18.01.2008 в 14:51)   письмо автору
 
   для: kasmanaft   (18.01.2008 в 10:09)
 

спасибо, друг!!!!!!!!!!!!!!!! :)))))))))))))))))) я почти так же написал... где-то немного осталось... щас всё просмотрю :))))))))))))))
ЗЫ кстати, поздравляю!!! Скоро Ваш порядковый номер (2777) совпадёт с кол-вом сообщений (уже 2707) :))))

   
 
 автор: kasmanaft   (18.01.2008 в 10:09)   письмо автору
 
   для: afdm   (17.01.2008 в 21:56)
 

Должно работать...

<?php

$text 
'text [ url=http://yandex.ru]yandex[/url] text [ url]http://yandex.ru[/url] text
         text http://yandex.ru text <a href="http://www.yandex.ru">yandex</a>'
;
$pattern "#(?<![>\"])(?<!\[url=)http://((?>[^\s\[\]]+))(?!\s*\[\/url\])#i";
$replacement "<a href=\"http://\\1\">http://\\1</a>";
echo 
preg_replace($pattern$replacement$text);

/* на выходе
text [ url=http://yandex.ru]yandex[/url] text [ url]http://yandex.ru[/url] text
         text <a href="http://yandex.ru">http://yandex.ru</a> text <a href="http://www.yandex.ru">yandex</a>
*/
?>

PS перед url, конечно, пробела нет.. это чтобы форум не съел бб тег.

   
 
 автор: afdm   (17.01.2008 в 21:56)   письмо автору
 
   для: Loki   (17.01.2008 в 17:33)
 

спасибо :))) на 50% работает :(((
а если пользователь вводит ссылку вида <a href="http://www.yandex.ru">yandex</a> ???
в результате нижеприведённое выражение преобразует подобные ссылки в нечно ужасно:
<a href="http://www.ya.ru">ya.ru</a> (часть после <a href= - уже гиперссылка... :(((

как тогда исправить вот это рег выражение?
<?
"#(?<![>\"])(?<!\[url=)http://((?>[^\s\[\]]+))(?!\s*\[\/url\])#i"    
/* заменяю на */
"<a href=\"http://\\1\">http://\\1</a>"

заранее вам спасибо! :)))

   
 
 автор: Loki   (17.01.2008 в 17:33)   письмо автору
 
   для: kasmanaft   (17.01.2008 в 17:20)
 

а символ который захапали перед URL надо на место вернуть:) на то он в группе и находится.

>наверное, надо ]
я первой строчкой написал, что cначала надо отпарсить bbcode. Как раз чтобы всяких значащих [] не оставалось

   
 
 автор: kasmanaft   (17.01.2008 в 17:20)   письмо автору
 
   для: Loki   (17.01.2008 в 15:44)
 

Тогда перед ссылкой после замены будет не достовать символа... который под [^>"] попадет.
Наверное надо вот так сделать: (?<![>"])и далее регулярка

PS Вместо кавычек и >, наверное, надо ] - это форум bb тег проглотил...

   
 
 автор: afdm   (17.01.2008 в 16:07)   письмо автору
 
   для: Loki   (17.01.2008 в 15:44)
 

спасибо! попробую!!! если что - напишу :)))

   
 
 автор: afdm   (17.01.2008 в 16:07)   письмо автору
 
   для: Loki   (17.01.2008 в 15:44)
 

спасибо! попробую!!! если что - напишу :)))

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования