php 编码转换-PHP8字符串操作1-PHP8知识解读

字符串是PHP中最重要的数据之一,字符串操作在PHP编程中扮演着重要的角色。 在使用PHP语言开发Web项目的过程中,为了实现个别的功能,往往需要对个别的字符串进行特殊的处理,如字符串的低位格式、字符串的连接和分割、字符串的比较等。 ,并进行一系列的搜索等操作。 用户与系统的交互基本上都是通过文本进行的,因此系统对文本信息即字符串的处理非常重要。

PHP8提供了大量的内置函数来处理字符串。 利用这些内置函数,可以在PHP8程序中轻松完成对字符串的各种操作。 在这篇文章中,我们通过具体的例子加深对字符串函数的理解。

1、去掉字符串首尾的空格和特殊字符

在许多情况下空格是不必要的,因此通常涉及从字符串中删除空格。 例如,在个别程序中,出现不必要的空格,这将大大降低程序出错的概率。

为了清除空格和特殊字符,我们使用 trim()、rtrim() 和 ltrim() 函数。

1.1、trim()函数

Trim() 函数删除字符串两侧的空格和特殊字符。 语法格式如下:

trim(string,charlist)

其中php 编码转换,string为要检测的字符串,charlist为可选参数,用于设置要删除的字符。 如果不设置该参数,则后面的字符将被删除。

A。 “”:NULL,空值。

b. “t”:制表符。

C。 “n”:换行符。

d. “x0B”:垂直制表符。

e、“r”:回车。

f、“”:空格。

接下来我们用一个案例来做演示,代码如下:

<?php
$a = "***我们正在学习的是PHP8###";
echo "原文输出的是:" .$a;
echo "
"; $a = trim($a,"*"); //去除前面的* $a = trim($a,"#"); //去除后面的# echo "处理以后输出的是:" .$a; ?>

上面的代码,在PHP8中运行结果如下:

原文输出的是:***我们正在学习的是PHP888###
处理以后输出的是:我们正在学习的是PHP888

1.2、ltrim()函数

ltrim() 函数从字符串左侧删除空格和特殊字符。 语法格式如下:

ltrim(string,charlist)

其中,string为要检测的字符串,charlist为可选参数,用于设置要删除的字符。

示例代码:

<?php
$a = "***PHP8***";
echo "原文输出的是:" .$a;
echo "
"; $a = ltrim($a,"*"); //去除左侧的* echo "处理以后输出的是:" .$a; ?>

在PHP8中运行的结果是:

原文输出的是:***PHP8***
处理以后输出的是:PHP8***

1.3、rtrim()函数

rtrim() 函数从字符串左侧删除空格和特殊字符。 语法格式如下:

rtrim(string,charlist)

其中,string为要检测的字符串,charlist为可选参数,用于设置要删除的字符。

示例代码:

<?php
$a = "***PHP8***";
echo "原文输出的是:" .$a;
echo "
"; $a = rtrim($a,"*"); //去除左侧的* echo "处理以后输出的是:" .$a; ?>

在PHP8中运行的结果是:

原文输出的是:***PHP8***
处理以后输出的是:***PHP8

2.获取字符串的宽度

在PHP8中,计算字符串宽度的函数有:strlen()和mb_strlen()。 当字符串均为英文时,strlen() 与 mb_strlen() 相同。 当字符串中包含英文字符时,两者是不同的。 当有英文时,使用mb_strlen()。 strlen() 统计不准确。

说到英文字符,我们先来解释一下各类字符串所占用的字节。

数字、英文、小数点、下划线和空格占用一个字节。

一个汉字占用2-4个字节,具体字节数取决于使用哪种编码。 汉字在GBK/GB2312编码中占用2个字节php 编码转换,在UTF-8/Unicode中通常占用3个字节(也有2-4个字节)。 英文标点符号也是两个字符。 现在我们编写网页的编码基本上都是国际编码UTF-8。

接下来使用 strlen() 函数和 mb_strlen() 函数来获取字符串的宽度。

2.1、strlen()函数

strlen()函数主要用于获取字符串的宽度,语法如下:

strlen($str)

其中,str为需要估计宽度的字符串。 另外就是返回值,如果成功返回字符串str的宽度,如果str为空则返回0。

例子:

<?php
$a = "你好,世界";
$b = "hello world";
$c = "HELLO WORLD";
echo "字符串a的长度为:".strlen($a);
echo "
"; echo "字符串b的长度为:".strlen($b); echo "
"; echo "字符串c的长度为:".strlen($c); ?>

上述代码是在PHP8中,运行结果为:

字符串a的长度为:15
字符串b的长度为:11
字符串c的长度为:11

从上面的结果可以看出,情况是一样的,但是你认为英文输出正确吗?

如果输出的是字节的大小,那还是正确的,但是如果是字符串的宽度,那肯定是错误的。

接下来,学习使用 mb_strlen() 函数对英文字符串进行计数。

2.2、mb_strlen()函数

mb_strlen()函数用于统计英文字符串的宽度。 mb_strlen()函数的语句格式如下:

mb_strlen($str,$encoding)

其中,str:是估计宽度的字符串。

编码:是字符串编码。 如果省略,则使用内部字符编码。

返回值: 返回编码后的字符串所包含的字符数。 多字节字符计为 1。如果给定编码无效,则返回 FALSE。

mb_strlen() 函数与 strlen() 函数大致相同,只是有一个用于字符编码的可选参数。

示例代码:

<?php
$a = "你好,世界";
$b = "hello world";
$c = "HELLO WORLD";
echo "字符串a的长度为:".mb_strlen($a);
echo "
"; echo "字符串b的长度为:".mb_strlen($b); echo "
"; echo "字符串c的长度为:".mb_strlen($c); ?>

在PHP8中运行上述代码的结果是:

字符串a的长度为:5
字符串b的长度为:11
字符串c的长度为:11

对字符串的操作太多了,再过三天再写。 明天继续写之前的字符串操作。