powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / задача по подмене тегов
10 сообщений из 10, страница 1 из 1
задача по подмене тегов
    #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
задача по подмене тегов
    #32818781
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.christian-seiler.de/projekte/php/bbcode/index_en.html

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

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

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

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


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