0

我在 smarty(php 模板系统)变量 $test 中有以下字符串:

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

我想像这样将“em”添加到高度和宽度:

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

但这不起作用......问题和解决方案是什么?

4

3 回答 3

4

您确实知道 HTML 宽度/高度属性中的“em”单位无效,对吧?那只是CSS。

于 2008-11-19T18:34:30.740 回答
2

我的正则表达式不是最好的,或者我会给你一个更好的匹配器,但也许使用你通过正则表达式替换所拥有的东西会起作用。

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

其他匹配器尝试

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

我目前无法使用我的 smarty 网站,但我会先从替换值中删除 ",看看是否存在错误,然后将其从匹配器中删除,然后查找高度/宽度。

否则,如果可以的话,我会在 PHP 中进行替换。

于 2008-11-19T18:02:21.040 回答
0

使用Aggiorno的智能搜索和替换,您可以这样做:

搜索模式:

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

替换模式:

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

当您单击“搜索”按钮时,所有匹配项都会在应用替换之前突出显示,以便您进行进一步检查,之后您可以自信地应用替换。

于 2008-11-27T18:18:04.017 回答