PHP:字符串操作

字符串操作

1 字符串整理

可以使用trim()函数去除字符串开始位置和结束位置的空格,并把结果字符串返回。默认情况下,去除:\n 、 \r 、\t、\xOb、\0和空格。也可以传入第二个参数提供要过滤的特殊字符。
ltrim()只从字符串开始处去除,rtrim()只从字符串结束处去除。

2 使用HTML标记格式化

nl2br()函数将会把字符串中的换行符替换为<br>标记。

3 转义字符串以便存储:addslashes()和stripslashes()

当字符串中含有一些有问题的字符时,将其插入到数据库是有可能出问题的。这些有问题的字符就是引号、反斜杠(\)和NULL字符。
这时候我们就需要对有问题的字符进行转义即添加一个反斜杠。

$str = "\你好";
echo $str;//输出\你好
echo "<hr>";
$str = addslashes($str);
echo $str;//输出\\你好
echo "<hr>";
$str = stripslashes($str);
echo $str;//输出\你好

显然stripslashes()函数就是去除添加的转义字符。

4 使用explode()、implode()和join()

举个例子:

$str = "bken@163.com";
$str = explode("@", $str);
echo $str[0];//输出bken
$str = implode("@", $str);
echo $str;//输出bken@163.com

join()函数和implode()用法用途一样。

5 使用substr()

举个例子:

$str = "bken@163.com";
echo substr($str, 2);//输出en@163.com
echo substr($str, 2, 5);//输出en@
echo substr($str, 2, -4);//输出en@163

6 字符串的比较

strcmp()函数接收两个参数,并返回比较的结果。如果两个字符串相等,返回0;如果第一个字符串大于第二个字符串,返回正数;如果第一个字符串小于第二个字符串,返回负数。
strcasecmp()除了不区分大小写,其他和strcmp()一样。
strnatcasecmp()不区分大小写,并按照人们的自然习惯对字符进行排序。举个例子,strcmp()会认为2大于12,因为在字典中2在12前面,而strnatcasecmp()相反。

7 字符串长度strlen()

strlen()函数将返回字符串的长度。

8 在字符串中查找字符串

举个例子:

$str = "\你好";
if (strstr($str, "你")) {
    echo "找到!";
}
else 
    echo "没有";

上面的输出为:找到!

strstr()、strchr()函数从字符串的前面找要找的子字符串,如果找到便返回true。
stristr()函数除了不区分大小写,其他和strstr()一样。
strrchr()几乎和strstr()一样,但是它返回的是最后出现的那个字字符串。

9 查找子字符串的位置

strpos()会返回第一次出现子字符串的位置,而strrpos()会返回最后出现的子字符串的位置。
同时可以传入第三个参数,指定开始查找的位置。

10 替换子字符串

举个例子:

$str = "你好";
$str = str_replace('你', '我', $str);
echo $str;

以上代码会输出:我好

还可以指定替换字符串中的子字符串:

$str = substr_replace($str, 'X', -1);

这将把$str的最后一个字符换成“X”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值