繁体   English   中英

如何在数组中使用chr()函数清除PHP中危险字符的字符串?

[英]How to use chr() function in an array for cleaning strings from dangereous characters in PHP?

大家好,我正在研究一些php表单。 我是新手,所以我可能会使用一种非常烦人的方式来解决我的问题。 这是我的尝试:

<?php
function ascii(){
    $j = 0;
    for ($i = 33; $i < 65; $i++){
        // turn $i to ascii
        $k = chr($i);
        // put it in an array
        $text[$j] = $k;
        $j++;
    }      
    print_r($text);  
}
?>

Output for the ascii() :  Array ( [0] => ! [1] => " [2] => # [3] => $ [4] => % [5] => & [6] => ' 
[7] => ( [8] => ) [9] => * [10] => + [11] => , [12] => - 
[13] => . [14] => / [15] => 0 
[16] => 1 [17] => 2 [18] => 3 [19] => 4 
[20] => 5 [21] => 6 [22] => 7 [23] => 8 
[24] => 9 [25] => : [26] => ; [27] => < 
[28] => = [29] => > [30] => ? [31] => @ ) 

即使以错误的方式在数组中收集所需的ascii字符,也请说出来。 我也认为我在函数和数组上犯了一个错误,但我无法解决。 我应该将什么传递给函数并从中返回。 如果我在某物中使用此函数,是否应该通过引用传递参数?

UPDATE

我现在有输出。 是时候改善功能了:)。 我计划在另一个循环中使用带有修剪功能的此数组(更改某些内容后)。 这是从字符串中清除ASCII字符的正确方法吗?

如果要使用chr ,建议将功能更改为:

<?php
function ascii(){
    for ($i = 33; $i < 65; $i++)
        $text[] = chr($i);
    return $text;
}

print_r(ascii());

如果要过滤非字母字符,则可以使用ctype-alpha

如果您对asscii数组有不同的建议,请清楚分享您的案例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM