Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:
将字符转换为 HTML 转义字符
<?php
$str = '<a href="http://www.baidu.com"></a>';
// 输出: <a href="http://www.baidu.com"></a>gt;;
echo htmlentities($str);
将特殊的 HTML 实体转换回普通字符
<?php
$str = "<p>this -> "</p>\n";
//输出 <p>this -> "</p>
echo htmlspecialchars_decode($str);
将特殊字符转换为 HTML 实体
<?php
$str = htmlspecialchars("<a href='www.baidu.com'>百度一下</a>",ENT_QUOTES);
//输出 <a href='www.baidu.com'>百度一下</a>gt;
//只支持 " ' > < & 五种
echo $str;
计算两个字符串之间的编辑距离
<?php
//编辑距离,是指两个字串之间,通过替换、插入、删除等操作将字符串str1转换成str2所需要操作的最少字符数量。
$str1 = "我是百度";
$str2 = "我是小百度";
//中文在utf-8中占3个字节,所以下面的结果返回3
echo levenshtein($str1,$str2);
计算两个字符串的相似度
<?php
$str1 = "我是百度";
$str2 = "我是小百度";
echo similar_text($str1,$str2);
获取字符串长度
<?php
$str = "my name is liming";
// 长度包括空格,返回17
echo strlen($str);
从字符串中去除 HTML 和 PHP 标记
<?php
$text = '<p>我是张一山</p><a href="#fragment">标签和属性统统会被删除</a>';
echo strip_tags($text);
echo "<hr>";
// 使用可选的第二个参数指定不被去除的字符列表。比如:允许<a>
echo strip_tags($text, '<a>');
在字符串中查找一组字符的任何一个字符
<?php
$text = '鲁智深是梁山好汉Boy';
// 输出 "智深是梁山好汉" 因为'深'先被匹配
echo strpbrk($text,'是深');
// 输出 "Boy" 因为该函数区分大小写
echo strpbrk($text,'B');
查找指定字符在字符串中的最后一次出现
<?php
$text = 'I am a good boy';
// 返回 "a good boy"
echo strrchr($text,'a');
标记分割字符串
<?php
$text = 'I am a good boy';
//仅第一次调用 strtok 函数时使用 string 参数。后来每次调用 strtok,都将只使用 第二个参数
// 使用空格字符将这句话分割成独立的单词,第一次返回 I,第二个返回 am 依次类推
echo strtok($text,' ') , '<hr>';
echo strtok(' '),'<hr>';
echo strtok(' '),'<hr>';
echo strtok(' '),'<hr>';
将字符串转化为小写
<?php
$text = 'I am A good boy';
//返回 "i am a good boy"
echo strtolower($text);
将字符串转化为大写
<?php
$text = 'I am A good boy';
//返回 "I AM A GOOD BOY"
echo strtoupper($text);
删除字符串的两段空格
<?php
$text = ' I am A good boy ';
//返回 "I am A good boy"
echo trim($text);
删除字符串的左端空格
<?php
$text = ' I am A good boy ';
//返回 "I am A good boy "
echo ltrim($text);
删除字符串的右端空格
<?php
$text = ' I am A good boy ';
//返回 " I am A good boy"
echo rtrim($text);
以千位分隔符方式格式化一个数字
<?php
$num = 123456.12;
// 返回 "123,456"
// 只提供第一个参数,小数部分会被去掉 并且每个千位分隔符都是英文小写逗号","
echo number_format($num),'<hr>';
// 返回 "123,456.12"
// 如果提供两个参数,将保留小数点后的位数到你设定的值
echo number_format($num,2),'<hr>';
// 返回 "123#456_12"
// 如果提供了四个参数,小数点被替换为第三个参数,千位分隔符替换为第四个参数
echo number_format($num,2,'_','#');
将字符串解析成多个变量
<?php
$str = 'id=5&name=zhangsan';
parse_str($str, $arr);
echo $arr['id'];
echo $arr['name'];
str_replace()的忽略大小写版本
<?php
$str = 'My name is Lisi';
// 返回 "your name is Lisi"
echo str_ireplace('my','your',$str);
strstr 函数的忽略大小写版本
<?php
$str = 'My name is Lisi';
// 返回 "is Lisi" 默认返回查找到的字符串及之后所有字符
echo stristr($str,'IS');
// 返回 "My name " 第三个参数为ture 返回查找字符串之前所有字符
echo stristr($str,'IS',true);
反转字符串
<?php
$str = 'shang hai';
// 返回 "iah gnahs"
echo strrev($str);
学习小结:发现部分字符串函数对中文不友好,直接使用会出错,需要通过其它方法实现。