2008-11-19 106 views
0

我在智者(PHP模板系统)以下字符串变量$测试:Smarty的用双引号替换文本

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

我要添加“EM”的高度和宽度是这样的:

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

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

回答

2

我的正则表达式不是最大的,或者我给你一个更好的匹配器,但也许使用你通过正则表达式替换的工作。

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

其他的匹配尝试

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

我不能在此刻我的Smarty的站点玩,但我会先删除“从替换值,看是否是错误在那里,然后从匹配删除它,只是看的高度/宽度。

否则我会怎么做,如果你能在PHP中的替代。

4

你知道“时间”单位HTML宽/高属性不是val编号,对吧?这只是CSS。

+0

是的,我发现后,我设法取代它所有... 现在我用'style =“width:150em; height:113em”'替换宽度和高度。这工作更好;) – Joep 2008-11-24 10:02:22

0

随着Aggiorno的智能搜索和替换,你可以做这样的:

搜索模式:

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

替换模式:

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

当你点击 “搜索”按钮,在应用替换之前,所有事件都会突出显示,以便您可以进一步检查,之后您可以放心地应用替换。