我目前正在尝试仅过滤字母数字字符。因此,我尝试了以下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”。我已经尝试过php str_replace函数它实际上很好,但我要定义大量无效字符。有什么可以告诉我如何轻松地做到这一点吗?
答案 0 :(得分:2)
您可以使用preg_replace()
功能
<?php
$someone = "Hel#o wor*d";
echo preg_replace('/[\s\W]+/',' ',$someone);
?>
输出 -
Hel o wor d
答案 1 :(得分:0)
**根据您的要求,复制Zend字母数字适配器(Zend_Filter_Alnum)并将preg_replace($pattern, '', (string) $value);
(第144行)替换为
preg_replace($pattern, ' ', (string) $value);