Общие > Веб-технологии

Тег code

<< < (2/3) > >>

DELirium:
Приведённый код не работает, или у меня в конец кривые руки.

Вообще я написал немного кода и он вполне великолепно работает:
$in=текст


$in2=$in
while ($in2 =~ s|\\*?)\'\\]([^\\[\\]]*?)\\[\\/url\\]|$2|g){}# Проверка на то написанно ли всё правильно.
while ($in2 =~ s|\\[(\\w)\\]([^\\[\\]]*?)\\[\\/\\1\\]|$2|g){}# Проверка на то написанно ли всё правильно.
if (($in2 =~ m/\\[(b|i|u|quote|code|url|mail)\\]/) || ($in2 =~ m/\\[\\/(b|i|u|quote|code|url|mail)\\]/))
         {print"-----\\n$in2\\n-----";$in=\'\'}


         $in =~ s/\\[b\\]//g;$in =~ s/\\[\\/b\\]//g;
         $in =~ s/\\[u\\]//g;$in =~ s/\\[\\/u\\]//g;
         $in =~ s/\\[i\\]//g;$in =~ s/\\[\\/i\\]//g;
         $in =~ s/\\[i\\]//g;$in =~ s/\\[\\/i\\]//g;
         $in =~ s|\\[mail\\]([^\\[\\]]*?)\\[\\/mail]|$1|g;
         $in =~ s|\\[url=\'([^\']*?)\'\\]([^\\[\\]]*?)\\[\\/url]|$2|g;
         $in =~ s/\\[quote\\]/\\\\\\/g;
         $in =~ s/\\[\\/quote\\]/\\\\\\/g;


Конечно "немного" убого, но работате.
Проблема в другом:
Необходимо чтобы внутри тега code вообще ничего не менялось. А если я добавлю строку:

$in =~ s/\\[code\\]//g;$in =~ s/\\[\\/code\\]//g;

то внутри тега code все спец символы заменятся, а мне этого совершенно не надо :(


p.s. А может у скобок [] есть альтернативное написание, как у< => <

Secandr:
как плохо работать двоим за одним компом :(

dymka:
я делал подобную фишку но немного по-другому:
я создавал хеш-массив преобразований:
code=>\'VALUE\',
url => \'VALUE\'
итп...
а потом вызывал функцию, которая все что внутри тегов
[ url ]http://some_host[ /url ]
преобразовывало согласно правилам...
если нужно могу поискать и попробывать прогнать твой примерчик, если пройдет то выложу

P.S.: сорри, немного неправильно понял проблему :) бум думать, мне такое тоже пригодится

Secandr:
Я придумал:
я внутри блока [ code]заменю все [ на

YA:
DELirium, а чего не работает? Если внутри [] допускаются пробелы, добавь после \\[ и перед \\] \\s*

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии