Smarty заменить текст двойными кавычками - PullRequest
0 голосов
/ 19 ноября 2008

У меня есть следующая строка в переменной smarty (система шаблонов php) $ test:

<img height="113" width="150" alt="Sunset" src="/test.jpg"/>

Я хочу добавить «em» к высоте и ширине, как это:

{$test|replace:'" w':'em" w'|replace:'" a':'em" a'}

Но это не работает ... В чем проблема и решение?

Ответы [ 3 ]

4 голосов
/ 19 ноября 2008

Вы знаете, что единицы измерения em в атрибутах ширины / высоты в HTML недопустимы? Это только CSS.

2 голосов
/ 19 ноября 2008

мое регулярное выражение не самое лучшее, или я бы дал вам лучшее совпадение, но, возможно, сработает то, что у вас есть через замену регулярного выражения.

{$test|regex_replace:'/".w/':'em" w'|regex_replace:'/".a/':'em" a'}

другие соответствия, чтобы попробовать

'/\".w/'
'/".*w/'
'/\".*w/'

В данный момент я не могу поиграть со своими умными сайтами, но сначала я удалил бы "из значения замены, чтобы увидеть, есть ли ошибка, а затем удалил ее из сопоставителя и просто посмотрел на высоту / ширину .

в противном случае я бы сделал замену в PHP, если вы можете.

0 голосов
/ 27 ноября 2008

С помощью интеллектуального поиска и замены Aggiorno вы можете сделать это следующим образом:

Шаблон поиска:

<img height="$h" width="$w" $attributes/>

Заменить шаблон:

<img height="$[h]em" width="$[w]em" $attributes"/>

Когда вы нажимаете кнопку «Поиск», все вхождения выделяются перед применением замены, чтобы вы могли выполнить дополнительную проверку, после чего вы можете уверенно применить замену.

...