2010-12-05 40 views
2

我想在我的Code Igniter购物车的'名称'中包含unicode字符(更具体地说,泰米尔文字)。我找到了this的例子。我尝试以下,从而使正则表达式可以匹配任何东西:CodeIgniter - Cart类中的'name'正则表达式匹配是否支持Unicode?

$this->cart->product_name_rules = '.+'; 
$this->cart->product_name_rules = '.*'; 
$this->cart->product_name_rules = '.'; 

但对于这一切,我得到错误“无效的名称提交作为产品名称:சும்மாவாசொன்னாங்கபெரியவங்க名称只能包含的α-数字字符,破折号,下划线,冒号和空格“在我的日志中。

此外,认为它可能是由于Unicode支持,我试过如下:

$this->cart->product_name_rules = '\p{Tamil}'; 

,但无济于事。如果在这里有什么问题,你能指点吗?

回答

0

尝试将每个泰米尔字符单独添加到您的正则表达式中。我曾在输入键做这个特殊字符:

if (! preg_match("/^[a-z0-9àÀâÂäÄáÁãÃéÉèÈêÊëËìÌîÎïÏòÒôÔöÖõÕùÙûÛüÜçÇ’ñÑß¡¿œŒæÆåÅøØö:_\.\-\/-\\\,]+$/i", $str)) 
    { 
     exit('Disallowed Key Characters.'); 
    } 
+1

谢谢。尝试一下和类似的解决方案。目前正面临一个切题,但让你再次知道这个结果。再次感谢。 – Mouli 2010-12-09 07:15:19

0

Here他张贴了他是怎样设法保存笨1.7.2的购物车的cyrilic字符。