可以这样做吗?
for($i=0;$i<strlen($str);$i++)
{
if(!in_array($str[$i],$arAllowedCharset)){$str[$i]='';}
}
return $str;
它有效,但我不确定我是否“被允许”这样做,即$str[$i]='';
注意:$str
是一个字符串变量,$arAllowedCharset
是一个只包含字母数字字符和短划线的数组。
我用它来格式化自定义CMS中用户提交的网址。
谢谢。
答案 0 :(得分:5)
使用正则表达式检查和更正网址会更容易。例如
$str = preg_replace('#[^a-z0-9-]#i', '', $str);