2012-11-20 66 views
0

我目前正在尝试仅过滤字母数字字符。因此,我已经尝试了以下Zend的功能,将空白字符替换为无效字符

$filter = new Zend_Filter_Alnum(array('allowwhitespace' => true)); 
$return = $filter->filter('This is (my) content: 123'); 

这实际上惊人的,但问题就在这里,我需要用空格换下的字符。例如,如果我输入“Hel#o wor * d”,它必须是“Hel o wor d”。 Aslo我已经尝试过PHP str_replace函数,它实际上很好,但我必须定义一些无效字符。请问任何请告诉我如何轻松做到这一点?

回答

0

您可以为Writing Custom Filters

创建自定义过滤**对于您的要求复制了Zend字母数字(Zend_Filter_Alnum)并将preg_replace($pattern, '', (string) $value);(行144)替换为
preg_replace($pattern, ' ', (string) $value);

2

,您可以通过使用preg_replace()功能做

<?php 
    $someone = "Hel#o wor*d"; 
    echo preg_replace('/[\s\W]+/',' ',$someone); 
?> 

输出 -

Hel o wor d