2010-11-11 43 views
1

可以這樣做嗎?PHP作爲數組訪問字符串變量並更改值

for($i=0;$i<strlen($str);$i++) 
{ 
    if(!in_array($str[$i],$arAllowedCharset)){$str[$i]='';} 
} 
return $str; 

它的工作原理,但我不確定我是否「允許」要做到這一點,即$str[$i]='';
注:$str是一個字符串變量,$arAllowedCharset是一個只包含字母數字字符和短劃線的數組。

我使用它來格式化自定義CMS中的用戶提交的URL。

謝謝。

回答

5

使用正則表達式檢查和更正網址會更容易。例如

$str = preg_replace('#[^a-z0-9-]#i', '', $str); 
+0

嘿,謝謝。我不確定是否值得爲此啓動RegExp引擎。 – Francisc 2010-11-11 10:21:24