Программирование > Регулярные выражения

Замена текста на определенное количество символов

(1/1)

Phoinix:
При работе с HTML несколько пробелов заменяются на & nbsp;, т.к. шаблоны я правлю из textarea, то при первоначальном занесеннии нескольких & nbsp; шаблон сохраняется нормально, но как только я пытаюсь его отредактировать через textarea все & nbsp; заменяются на пробелы, пришлось ввести UB код типа [nbsp], который в дальнейшем при сипользовании шаблона заменяется на & nbsp;, но возник вопрос если писать не так:

[nbsp][nbsp][nbsp][nbsp][nbsp][nbsp][nbsp][nbsp]
заменяя его потом на...
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;

а так:

[nbsp:4]
заменять  на...
& nbsp;& nbsp;& nbsp;& nbsp;

причем в самом строковом выражении может быть насколько блоков [nbsp:x], т.е.

[nbsp:5]текст[nbsp:7]текст[nbsp:2]текст[nbsp:5]

Возможно ли в регулярных выражениях замена [nbsp:5]на дублирование отпределенного текста определенное количество раз (в данном случае - 5)

P.S. я воткнул пробел между & и nbsp; иначе тут тоже не кажет...

ondr:
Мдя...
Замени & на &
т.е.   на  
а также " на "
< на &lt;
> на &gt;
при внесении в значения скриптом

Phoinix:
ondr
Эти замены я и так произвожу... вопрос не в том, могу ли я сделать так, что бы вместо нескольких "жестких" пробелов, просто указывать их количество во время редактирования шаблона, а во время непосредственного вывода шаблона пользователям выдавать готовый код. При этом я могу фунцией выкусывать [nbsp:2] и получать количество 2, а потом дублировать "& nbsp;" нужное количество раз, но при этом, если в строковом выражении несколько [nbsp:2] я захвачу только одно.
Вопрос можно ли одним регулярным выражением получать количество, дублировать определенный текст в соответствии с количеством и производить замену... т.е. грубо говоря примерно так:

~s /\\[nbsp\\:([0-9]*)\\]/((& npsb;)*$1)/gi;

ondr:
На держи:
s/\\[nbsp: ([0-9]*)\\]/\'&nbsp;\' x $1/gie; (пробел в левой части убрать)

Но что тебя не устраивало понять не могу.

Phoinix:
ondr
Меня просто не устраивало, то что засорялся шаблон, и его очень неудобно было редактировать когда у тебя идет:

[nbsp][nbsp][nbsp][nbsp][nbsp][nbsp][nbsp][nbsp] TEXT [nbsp][nbsp][nbsp][nbsp][nbsp][nbsp][nbsp][nbsp] TEXT

вот и хотелось его привести в удобочитаемый вид:

[nbsp:8]TEXT[nbsp:8]TEXT

Спасибо...

Навигация

[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 
Перейти к полной версии