Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:选的这几个函数并不典型, 继续加油
1.当评论和文章内容提交时可以用str_replace(find,replace,string,count)字符串函数替换敏感词但是有平台提供内容和图片审查
参数 | 描述 |
---|---|
find | 必需。规定要查找的值。 |
replace | 必需。规定替换 find 中的值的值。 |
string | 必需。规定被搜索的字符串。 |
count | 可选。对替换数进行计数的变量。 |
返回值: | 返回带有替换值的字符串或数组。 |
---|---|
PHP 版本: | 4+ |
更新日志: | 在 PHP 5.0 中,新增了 count 参数。在 PHP 4.3.3 之前,该函数的 find 和 replace 参数都为数组时将会遇到麻烦,会引起空的 find 索引在内部指针没有更换到 replace 数组上时被忽略。新的版本不会有这个问题。自 PHP 4.0.5 起,大多数参数可以是一个数组。 |
$sensitiveWord=['尼玛','你妈','傻逼','sb','武汉肺炎','你吗','吗','妈逼','吗B'] ;
$replacesarr=['**','**','**','**','****','**','*','**','**'];
$common='去你吗你个傻逼玩意,武汉肺炎,看看骂人都不会,没文化骂人都不会,有文化的是这样骂人的:真羡慕你拿出身份证就是你的全家福';
echo str_replace($sensitiveWord,$replacesarr,$common);//去**你个**玩意,****,看看骂人都不会,没文化骂人都不会,有文化的是这样骂人的:真羡慕你拿出身份证就是你的全家福
2.密码加密时 md5(string,raw)与sha1(string,raw);
参数 | 描述 |
---|---|
string | 必需。规定要计算的字符串。 |
raw | 可选。规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式FALSE - 默认。32 字符十六进制数 |
$password='root';
$password=MD5($password);//32位
$password=sha1($password,'abc');//40位
$password=MD5($password);
echo $password;//86ef545883f9beccd6abba095a48d030
3.把字符转为HTML实体htmlentities(string,flags,character-set,double_encode)
参数 | 描述 |
---|---|
string | 必需。规定要转换的字符串。 |
flags | 可选。规定如何处理引号、无效的编码以及使用哪种文档类型。可用的引号类型:ENT_COMPAT - 默认。仅编码双引号。ENT_QUOTES - 编码双引号和单引号。ENT_NOQUOTES - 不编码任何引号。无效的编码:ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。规定使用的文档类型的附加 flags:ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。ENT_HTML5 - 作为 HTML 5 处理代码。ENT_XML1 - 作为 XML 1 处理代码。ENT_XHTML - 作为 XHTML 处理代码。 |
character-set | 可选。一个规定了要使用的字符集的字符串。允许的值:UTF-8 - 默认。ASCII 兼容多字节的 8 位 UnicodeISO-8859-1 - 西欧ISO-8859-15 - 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)cp866 - DOS 专用 Cyrillic 字符集cp1251 - Windows 专用 Cyrillic 字符集cp1252 - Windows 专用西欧字符集KOI8-R - 俄语BIG5 - 繁体中文,主要在台湾使用GB2312 - 简体中文,国家标准字符集BIG5-HKSCS - 带香港扩展的 Big5Shift_JIS - 日语EUC-JP - 日语MacRoman - Mac 操作系统使用的字符集注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 |
double_encode | 可选。布尔值,规定是否编码已存在的 HTML 实体。TRUE - 默认。将对每个实体进行转换。FALSE - 不会对已存在的 HTML 实体进行编码。 |
返回值: | 返回被转换的字符串。如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。 |
---|---|
PHP 版本: | 4+ |
更新日志: | 在 PHP 5 中,character-set 参数的默认值改为 UTF-8。在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。在 PHP 5.3 中,新增了 ENT_IGNORE。在 PHP 5.2.3 中,新增了 double_encode 参数。在 PHP 4.1 中,新增了 character-set 参数。 |
$str = "<a href=\"\">输出不了标签</a><br>";
echo $str; //输出不了标签
echo htmlentities($str, ENT_COMPAT);//<a href="">输出不了标签</a><br>
4.切开字符串strtok(string,split)
参数 | 描述 |
---|---|
string | 必需。规定要分割的字符串。 |
split | 必需。规定一个或多个分割字符。 |
返回值: | 返回字符串标记(string token)。 |
---|---|
PHP 版本: | 4+ |
$str = "abcdefedcba";
$strtok = 'e';
echo strtok($str, $strtok);//abcd
5.统计一个字符串,在另一个字符串中出现次数substr_count(string,substring,start,length)
参数 | 描述 |
---|---|
string | 必需。规定被检查的字符串。 |
substring | 必需。规定要搜索的字符串。 |
start | 可选。规定在字符串中何处开始搜索。 |
length | 可选。规定搜索的长度。 |
返回值: | 返回子串在字符串中出现的次数。 |
---|---|
PHP 版本: | 4+ |
更新日志: | 在 PHP 5.1 中,新增了 start和 length 参数。 |
$str = "abcdefedcbae";
$str2 = 'e';
echo substr_count($str,$str2);//3
参数 | 描述 |
---|---|
string | 必需。规定要进行折行的字符串。 |
width | 可选。规定最大行宽度。默认是 75。 |
break | 可选。规定作为分隔符使用的字符(字串断开字符)。默认是 “\n”。 |
cut | 可选。规定是否对大于指定宽度的单词进行折行:FALSE - 默认。No-wrapTRUE - 折行 |
返回值: | 若成功,则返回折行后的字符串。若失败,则返回 FALSE。 |
---|---|
PHP 版本: | 4.0.2+ |
更新日志: | 在 PHP 4.0.3 中,新增了 cut 参数。 |
$str = "abcdefedcbae";
echo wordwrap($str,5,"<br>\n",TRUE);
//abcde
//fedcb
//ae
echo chr(110);//n
8.ord() 函数返回字符串的首个字符的 ASCII 值。
echo ord('n');//110
9.str_shuffle(string)随机地打乱字符串中所有字符
$str='验证码';
echo str_shuffle($str);//�聁��猠
echo '<br>';
$str='YZM';
echo str_shuffle($str);//MZY
注意:
打乱的是字符串中的“字符”,一个字母等于一个字符,一个汉字等于2个字符,所以这个函数会把汉字撕成两半后再随机排序,这样的结果显示出来当然是看不懂的乱码了 .
10.统计字符串含有的单词数str_word_count(string)
$str = 'I love learning PHP, PHP is the best language on the WEB';
echo str_word_count($str);//12