Forum Webscript.Ru

Программирование => PHP => Тема начата: Solid от 08 Апреля 2002, 16:24:00

Название: Опять регулярные выражения или боримся с транслитом
Отправлено: Solid от 08 Апреля 2002, 16:24:00
Что есть:
Есть стринг ($string), в нём например следующий текст:

http://www.webscript.ru/ - [tr]samqi kljovqi sait[/tr].

Что нам нужносделать:
Нужно перевести то что находится между [tr] и [/tr] с латиницы (транслита) в кирилицу. Самое главное мне нужна идея как сделать что бы между [tr] и [/td] записывалось куда то в массив, а затем изменив кое-что, опять же вставлялось в то место откуда всё это было взято.

Спасибо тому кто это сделает и всем тем кто хотябы постарается это сделать.

Сразу могу сказать, что я долго пытался сделать это и выбился из сил и решил всётаки обратится в форум. Вот блин, даже предложение уже составить немогу.
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: tsd от 08 Апреля 2002, 16:32:32
Если проблема только в транслите: http://manliks.ru/manlix/?scripts
У них уже есть готовый скрипт для борьбы с транслитом :)
Его можно будет как-то под себя подправить ;)
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: Solid от 08 Апреля 2002, 17:05:14
Да в том то и дело что я такой же могу сделать, даже у меня есть такой же, собсвенного изготавления. Мне не это важно, мне важно, если ты читал, что бы между [tr] и [/tr] только изменялось всё, а не везде. Ты понял надеюсь.
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: AlieN от 08 Апреля 2002, 17:08:00
Solid
Регулярные выражения юзай
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: Solid от 08 Апреля 2002, 17:15:31
AlieN
В том то и дело, я спрашиваю как, я их просто ну не знаю, сколько статей не читал, не могу врубится как это вообще. ;) Я учусь только на примерах =)
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: AlieN от 08 Апреля 2002, 17:19:24
Solid
Блин ну там всё просто
сплит идёт по алгоримты
неогрниченное кол-во любого word-символа(\\w- если через preg)
Всё
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: Solid от 08 Апреля 2002, 17:22:04
AlieN
Примерчик бы не помешал. ;)
Название: Примерно так:
Отправлено: Макс от 08 Апреля 2002, 18:37:12
$a="wed[tr]trtrtrtr[/tr]k ksdfj [tr]asdjk[/tr] asd";
preg_match_all("#\\[tr\\](.*)\\[\\/tr\\]#iU",$a,$m);
print_r($m);


PS
Кто нить может объяснить, почему не работает это?
preg_match_all("#(?<=\\[tr\\])(.*)(?=\\[\\/tr\\])#iU",$a,$m);
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: AlieN от 08 Апреля 2002, 20:18:46
потому что надо вот так(PS взял из мана)

preg_match_all ("|(.*)|U",
    $blabla,
    $out, PREG_PATTERN_ORDER);

В результате данных будут хранить в массиве
$out[0];
т.е.
первое совпадение в $out[0][0]
Название: Опять регулярные выражения или боримся с транслитом
Отправлено: Dm от 10 Апреля 2002, 00:43:23
взгляни здесь:
http://forums.webscript.ru/showthread.php?s=&threadid=4899