使用trim从字符串中删除单引号和空格



我正在尝试从字符串中删除空白和单引号。

$string = "'DZ;Algeria;The People's Democratic Republic of Algeria;Algerian'  ";
echo trim($string,"'");

在上面的字符串中,我想删除两端的单引号,但trim只删除左侧的单引号。右侧单引号在修剪后保留。

输出为:

DZ;阿尔及利亚阿尔及利亚人民民主共和国;阿尔及利亚

但我想要这个:

DZ;阿尔及利亚阿尔及利亚人民民主共和国;阿尔及利亚

在要修剪的字符列表中添加一个空格。

echo trim($string,"' ");

https://3v4l.org/CkbZP

您可以trim()两次。首先,修剪字符串以去除前导空格和尾随空格;然后再次修剪以删除前导和尾随单引号(在删除前导/尾随空格之后(

$string = "'DZ;Algeria;The People's Democratic Republic of Algeria;Algerian'  ";
echo trim(trim($string),"'");

演示:https://3v4l.org/0rsXN

php.net上的trim文档指出,第二个参数:

character_mask

(可选(也可以使用character_mask参数指定剥离的字符。只需列出所有要删除的字符。具有您可以指定一系列字符。

默认情况下,字符掩码包含空白字符:

  • "quot;(ASCII 32(0x20((,一个普通的空格
  • "\t〃;(ASCII 9(0x09((,一个选项卡
  • "\n〃;(ASCII 10(0x0A((,一个新行(换行(
  • "\r〃;(ASCII 13(0x0D((,回车
  • "";(ASCII 0(0x00((,NUL字节
  • "\x0B";(ASCII 11(0x0B((,一个垂直选项卡

如果您想修剪单引号及其前后的空格,您可以将单引号添加到该列表中:

$string = "'DZ;Algeria;The People's Democratic Republic of Algeria;Algerian'  ";
echo trim($string,"' tnrx0B");

否则,空格字符被认为是不可修剪的,并且引号不会被删除。

如果需要保留空格,则需要将preg_replace与正则表达式一起使用。

最新更新