#1 2014.02.21 16:54

namdvili
Участник
Зарегистрирован: 2014.02.21
Сообщений: 4
Карма: 0
Профиль

функция транслита как bbcode

как сделать функцию транслита для любого языка?
принцип надо как на bbcode,
например [ru] tekst [/ru]

Неактивен

#2 2014.02.21 18:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: функция транслита как bbcode

ну так же как и все остальное. задавай вопрос конкретнее. проблема с парсингом ббкода? или с функциями транслита?

Неактивен

#3 2014.02.22 01:38

namdvili
Участник
Зарегистрирован: 2014.02.21
Сообщений: 4
Карма: 0
Профиль

Re: функция транслита как bbcode

Код:

1
span style="color: #0000BB"><?phpfunction trans($a) { $b = array('a','b','v','g','d','e'); $g = array('а','б','в','г','д','е'); return str_replace($b,$g,$a);}function bb_trans($text) { $find = array('~\[ru\](.*?)\[/ru\]~s'); $replace = array(trans('$1')); return preg_replace($find,$replace,$text);}$text = 'abvgd [ru] abvgd [/ru] abvgd';echo bb_trans($text);

не работает smile
и не знаю где причина или как сделать иначе.

Отредактировано Gemorroj (2014.02.22 01:47)

Неактивен

#4 2014.02.22 01:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: функция транслита как bbcode

Код:

1
span style="color: #0000BB"><?phpfunction trans($str) { return str_replace( array('a','b','v','g','d','e'), array('а','б','в','г','д','е'), $str );} function bb_trans($text) { return preg_replace_callback('~\[ru\](.*?)\[/ru\]~si', function ($matches) { return '[ru]' . trans($matches[1]) . '[/ru]'; }, $text);}$text = 'abvgd [ru] abvgd [/ru] abvgd';echo bb_trans($text);

требует php 5.3
если нужна поддержка php 5.2 переделать несложно.

Неактивен

#5 2014.02.22 02:06

namdvili
Участник
Зарегистрирован: 2014.02.21
Сообщений: 4
Карма: 0
Профиль

Re: функция транслита как bbcode

спасибо спасибо спасибо

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.008 s