欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

smarty正则

程序员文章站 2022-05-14 20:57:39
...
数据格式如下 23424-234234,怎么通过‘-’取得这个字符串后面的数值(数字位数是不定的),正则是真不会用


回复讨论(解决方案)

用php处理好了再传给smary 就是了。

这个用explode就行了。不是碰到什么都用正则

lz目的不就是要截取'-'之后的字符串吗
substr 就可以截取,或者二楼的explode也可以!

$a='23424-234234222222222';$b = substr($a,6);print_r ($b);

结果 234234222222222

或者
$a='23424-234234222222222';$b = explode('-',$a);print_r ($b);

结果 Array ( [0] => 23424 [1] => 234234222222222 )
然后
print_r($b[1]);

lz目的不就是要截取'-'之后的字符串吗
substr 就可以截取,或者二楼的explode也可以!


PHP code
?



1234

$a='23424-234234222222222'; $b = substr($a,6); print_r ($b);
结果 234234222222222

或者


PHP code
?



123
……
在smarty模板里唉,不是php页面。

用php处理好了再传给smary 就是了。
用php就有点乱了,应为牵涉到多个数组

引用 3 楼 nzr_dream 的回复:
lz目的不就是要截取'-'之后的字符串吗
substr 就可以截取,或者二楼的explode也可以!


PHP code
?



1234

$a='23424-234234222222222'; $b = substr($a,6); print_r ($b);
结果 234234222222222

或者


PHP code
?



123
……

在smarty模板里唉,不是php页面。
那就用smarty中的截取字符串函数啊 truncate

{$s|regex_replace:"/\d+-/":""}

smarty 本身是由php编写的模版 不行就写个截字符函数放到smarty函数库目录,一样好使
能不用正则就别用正则

相关标签: smarty正则