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

时间:2018-11-06 19:00:52

标签: php

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

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

在上面的字符串中,我想从两端删除单引号,但是trim仅删除左单引号。修剪后,右侧单引号仍然存在。

输出为:

  

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

但是我想要这个:

  

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

4 个答案:

答案 0 :(得分:4)

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

null

https://3v4l.org/CkbZP

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:1)

documentation for trim on php.net指出第二个参数:

  

character_mask

     

(可选)还可以使用character_mask参数指定剥离的字符。只需列出要删除的所有字符。使用..您可以指定字符范围。

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

  
      
  • “”(ASCII 32(0x20)),一个普通空格。
  •   
  • “ \ t”(ASCII 9(0x09)),一个制表符。
  •   
  • “ \ n”(ASCII 10(0x0A)),换行(换行)。
  •   
  • “ \ r”(ASCII 13(0x0D)),回车符。
  •   
  • “ \ 0”(ASCII 0(0x00)),NUL字节。
  •   
  • “ \ x0B”(ASCII 11(0x0B)),一个垂直制表符。
  •   

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

$string = "'DZ;Algeria;The People's Democratic Republic of Algeria;Algerian'  ";
echo trim($string,"' \t\n\r\0\x0B");

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

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

答案 3 :(得分:-1)

$myString = " frase frase frase ";
$newString_formated = trim($myString);
echo $newString_formated;

将其保存在新变量中