Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> реализация аналога BB кодов, не пойму никак 
V
    Опции темы
DEER
  Дата 27.2.2006, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 13



Здраствуйте.
Хочу сделать аналог phpBB кодов.
Например, в БД лежит строка
Код

[url=www.yandex.ru]yandex[/url]

надо чтобы на ввводе получалось
Код

<a href='www.yandex.ru'>yandex</a>

как найти в тексте этот тег я понял, напишу шаблон, он и будет искать,
непонятно как мне из результата поиска выудить нужные мне подстроки (www.yandex.ru и yandex)

Я понимаю что задача из стандартных, но что то не догоню как это сделать...
smile

спасибо


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
AlexanderI
Дата 27.2.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 2
Всего: 3



Код

                $message =~ s~\[url\]\s*www\.(\S+?)\s*\[/url\]~<a href="http://www.$1" target="_blank">www.$1</a>~isg;
                $message =~ s~\[url=\s*(\S\w+\://\S+?)\s*\](.+?)\[/url\]~<a href="$1" target="_blank">$2</a>~isg;
                $message =~ s~\[url=\s*(\S+?)\](.+?)\s*\[/url\]~<a href="http://$1" target="_blank">$2</a>~isg;
                $message =~ s~\[url\]\s*(http://)?(\S+?)\s*\[/url\]~<a href="http://$2" target="_blank">$1$2</a>~isg;

--------------------
Магазин детских игрушек  | Авто ВАЗ
PM MAIL   Вверх
DEER
Дата 27.2.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 13



Брр... глаза разбигаются smile

Спасибо. +


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
Kannabismus
Дата 27.2.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Тим Тоуди



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

Репутация: 1
Всего: 2



Код

use BBCode::Parser;

PM   Вверх
Kiber_rat
Дата 27.2.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

Репутация: 7
Всего: 9



Тебе нужно хватать весь ббкод и просто заменять его на html тэг. Например так:
Код
s/\[url=([^\]]+)\]([^\[]+)\[\/url\]/<a href=$1>$2</a>/sgi



--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
DEER
Дата 27.2.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 13



вот как раз чего я и не пойму
переменные $1 и $2 (и наверное ещё $3 $4 и т.д. ) они откуда беруться?
это то что соответствует выражению в скобках, так что ли?


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
AlexanderI
Дата 27.2.2006, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 2
Всего: 3



Ага

Это сообщение отредактировал(а) AlexanderI - 27.2.2006, 15:14
--------------------
Магазин детских игрушек  | Авто ВАЗ
PM MAIL   Вверх
nitr
Дата 27.2.2006, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 37
Всего: 84



Читай ман по рег. выражениям ссылка указывалась изначально (если поискать чуток) http://perldoc.narod.ru/regexp2-ref.pdf одна из них...


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




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


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

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