Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / задача по подмене тегов / 10 сообщений из 10, страница 1 из 1
08.12.2004, 14:07
    #32818724
Radjaman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
здраствуйте.
есть задача по подмене тегов. (по аналогии с тегами sql.ru)
например пишем
[ list ] вася
петя
[ /list ]
должна этот текст преобразовать к
<ul><li>вася</li><li>петя</li></ul>
алгоритм в принципе написан:

while (strpos($text,"
  • "))
  • {
  • $list=substr($text,strpos($text,"
      "),(strpos($text,"
    ")-strpos($text,"
    • ")));
    • $list2=str_replace("\r\n", "</li> <li>",$list);
    • $list2=str_replace("
      • ", "<ul> <li>",$list2);
      • $list2=str_replace("
      ", "</li> </ul>",$list2);
    • $text=str_replace($list, $list2, $text);
    • $text=str_replace("
    ", "</li> </ul>", $text);
    }
    но как-то он тормозяет.
    вопрос: можно ли с помощью регулярных выражений это как-то оптимизировать
...
Рейтинг: 0 / 0
08.12.2004, 14:25
    #32818781
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
http://www.christian-seiler.de/projekte/php/bbcode/index_en.html

--
http://jcatki.no-ip.org/c++/bart.jpg
...
Рейтинг: 0 / 0
08.12.2004, 14:25
    #32818782
ashim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
s/(\[list\])(.*?)(\[/list\])/<ul>.&ss($2).<ul>/ige;

sub ss
{
return '<li>'.join('</li><li>',split(/\s+/,shift)).'</li>';
}
какта так
...
Рейтинг: 0 / 0
09.12.2004, 05:31
    #32819763
Radjaman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
спасибо. буду пробовать
...
Рейтинг: 0 / 0
09.12.2004, 07:30
    #32819802
Radjaman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
ashims/(\[list\])(.*?)(\[/list\])/<ul>.&ss($2).<ul>/ige;

sub ss
{
return '<li>'.join('</li><li>',split(/\s+/,shift)).'</li>';
}
какта так
если честно, я в пхп полный 0. если вас не затруднит подскажите как это применить
...
Рейтинг: 0 / 0
09.12.2004, 08:39
    #32819844
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
Потому что это perl, а не PHP ;)
...
Рейтинг: 0 / 0
09.12.2004, 08:45
    #32819850
Radjaman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
вот развели меня :)
...
Рейтинг: 0 / 0
09.12.2004, 09:25
    #32819901
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
Если интересно разобраться самому - читай ман по PCRE + статейки с деталей Регулярные выражения, часть I + часть II
...
Рейтинг: 0 / 0
09.12.2004, 10:22
    #32820002
Radjaman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
спасибо. обязательно почитаю
...
Рейтинг: 0 / 0
09.12.2004, 11:37
    #32820255
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задача по подмене тегов
Radjamanспасибо. обязательно почитаю

мне кажется с такими знаниями проще использовать готовый правильный класс
вот ещё один с примером работы
http://www.roonaan.nl/hotscripts/index.php?script=quickerubb.php
http://www.roonaan.nl/hotscripts/quickerubb.php
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / задача по подмене тегов / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]