好吧我有一些字符串
'Hello^<php>World&*124><
i ju*st press enteR'
我如何将其归还(函数更好?)
'Hello World123
i just press enter'
允许
我如何用正则表达式做到这一点?我必须使用正则表达式吗?还有另一种方式吗?
由于
Adam Ramadhan
答案 0 :(得分:2)
你可以这样做:
function removeBad($str)
{
return preg_replace("/[^a-zA-Z0-9_ (\n|\r\n)]+/", "", $str);
}
这将删除除字母,数字,空格和换行符之外的任何内容
如果您还想在文字中删除任何标记,例如<php>
,您可以执行以下操作:
function removeBad($str)
{
$str = strip_tags($str);
return preg_replace("/[^a-zA-Z0-9_ (\n|\r\n)]+/", "", $str);
}
<强>用法:强>
$str = removeBad('Hello^<php>World&*124><');
echo $str;
<强>结果:强>
HelloWorld124
$str = removeBad('i ju*st press EnteR');
echo $str;
<强>结果:强>
i just press EnteR
答案 1 :(得分:0)
正则表达式替换可以为您完成此操作。我想你需要两个。第一个删除&之间的所有内容。和&gt;字符。第二个删除任何不在您允许的字符集中的字符。这是最安全的方法。