博客列表 >字符串函数

字符串函数

若是梦终会醒
若是梦终会醒原创
2020年04月28日 12:32:381001浏览

字符串函数

1.当评论和文章内容提交时可以用str_replace(find,replace,string,count)字符串函数替换敏感词但是有平台提供内容和图片审查

参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。对替换数进行计数的变量。
返回值: 返回带有替换值的字符串或数组。
PHP 版本: 4+
更新日志: 在 PHP 5.0 中,新增了 count 参数。在 PHP 4.3.3 之前,该函数的 findreplace 参数都为数组时将会遇到麻烦,会引起空的 find 索引在内部指针没有更换到 replace 数组上时被忽略。新的版本不会有这个问题。自 PHP 4.0.5 起,大多数参数可以是一个数组。
  1. $sensitiveWord=['尼玛','你妈','傻逼','sb','武汉肺炎','你吗','吗','妈逼','吗B'] ;
  2. $replacesarr=['**','**','**','**','****','**','*','**','**'];
  3. $common='去你吗你个傻逼玩意,武汉肺炎,看看骂人都不会,没文化骂人都不会,有文化的是这样骂人的:真羡慕你拿出身份证就是你的全家福';
  4. echo str_replace($sensitiveWord,$replacesarr,$common);//去**你个**玩意,****,看看骂人都不会,没文化骂人都不会,有文化的是这样骂人的:真羡慕你拿出身份证就是你的全家福

2.密码加密时 md5(string,raw)与sha1(string,raw);

参数 描述
string 必需。规定要计算的字符串。
raw 可选。规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式FALSE - 默认。32 字符十六进制数
  1. $password='root';
  2. $password=MD5($password);//32位
  3. $password=sha1($password,'abc');//40位
  4. $password=MD5($password);
  5. 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 参数。
  1. $str = "<a href=\"\">输出不了标签</a><br>";
  2. echo $str; //输出不了标签
  3. echo htmlentities($str, ENT_COMPAT);//<a href="">输出不了标签</a><br>

4.切开字符串strtok(string,split)

参数 描述
string 必需。规定要分割的字符串。
split 必需。规定一个或多个分割字符。
返回值: 返回字符串标记(string token)。
PHP 版本: 4+
  1. $str = "abcdefedcba";
  2. $strtok = 'e';
  3. echo strtok($str, $strtok);//abcd

5.统计一个字符串,在另一个字符串中出现次数substr_count(string,substring,start,length)

参数 描述
string 必需。规定被检查的字符串。
substring 必需。规定要搜索的字符串。
start 可选。规定在字符串中何处开始搜索。
length 可选。规定搜索的长度。
返回值: 返回子串在字符串中出现的次数。
PHP 版本: 4+
更新日志: 在 PHP 5.1 中,新增了 start和 length 参数。
  1. $str = "abcdefedcbae";
  2. $str2 = 'e';
  3. echo substr_count($str,$str2);//3
  1. wordwrap(string,width,break,cut) 函数按照指定长度对字符串进行折行处理。
参数 描述
string 必需。规定要进行折行的字符串。
width 可选。规定最大行宽度。默认是 75。
break 可选。规定作为分隔符使用的字符(字串断开字符)。默认是 “\n”。
cut 可选。规定是否对大于指定宽度的单词进行折行:FALSE - 默认。No-wrapTRUE - 折行
返回值: 若成功,则返回折行后的字符串。若失败,则返回 FALSE。
PHP 版本: 4.0.2+
更新日志: 在 PHP 4.0.3 中,新增了 cut 参数。
  1. $str = "abcdefedcbae";
  2. echo wordwrap($str,5,"<br>\n",TRUE);
  3. //abcde
  4. //fedcb
  5. //ae
  1. chr() 函数从指定的 ASCII 值返回字符 .
  1. echo chr(110);//n

8.ord() 函数返回字符串的首个字符的 ASCII 值。

  1. echo ord('n');//110

9.str_shuffle(string)随机地打乱字符串中所有字符

  1. $str='验证码';
  2. echo str_shuffle($str);//�聁��猠
  3. echo '<br>';
  4. $str='YZM';
  5. echo str_shuffle($str);//MZY

注意:

​ 打乱的是字符串中的“字符”,一个字母等于一个字符,一个汉字等于2个字符,所以这个函数会把汉字撕成两半后再随机排序,这样的结果显示出来当然是看不懂的乱码了 .

10.统计字符串含有的单词数str_word_count(string)

  1. $str = 'I love learning PHP, PHP is the best language on the WEB';
  2. echo str_word_count($str);//12
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议