如何从字符串中删除双引号

34

这是我的字符串:

$a='"some text';`

我该如何去掉双引号,以便输出结果看起来像这样?

some text`

我尝试了 preg_replace 但它没有起作用。 - maget0ron
1
@maget0ron:每次卧室里有蚊子,你也会用加农炮吗? - Elias Van Ootegem
@Elias Van Ootegem-我认为有更好的方法。不过你的确做得很棒,哈哈 :-) - maget0ron
7个回答

44

1
这个解决方案删除了所有双引号。 - ThomasSquall

22

如果字符串是:$str = '"World"';

ltrim()函数只会删除第一个双引号。

输出结果:World"

因此,您应该使用trim()函数而不是同时使用这两个函数。 例如:

$str = '"World"';
echo trim($str, '"');

输出 -

World

2
这是正确的答案。所有建议使用str_replace的人--那将替换所有双引号。trim($str, '"')将从字符串开头和结尾删除双引号。 - Phl3tch

4

使用ltrim()可能是最合适的选择,因为str_replace()会删除所有内部引号字符(这取决于你想要发生什么)。

ltrim — 从字符串开头删除空格(或其他字符)

echo ltrim($string, '"');

如果您希望从两侧删除引号,只需要使用常规的trim()函数,第二个参数是一个包含要删除的所有字符的字符串。

2
以下是一些用于替换字符串中字符的不同函数示例:
$a='"some text';
echo 'String Replace Function<br>';
echo 'O/P : ';
echo $rs =str_replace('"','',$a);
echo '<br>===================<br>';
echo 'Preg Replace Function<br>';
echo 'O/P : ';  
echo preg_replace('/"/','',$a);
echo '<br>===================<br>';
echo 'Left Trim Function<br>';
echo 'O/P : ';  
echo ltrim($a, '"');
echo '<br>===================';

这是输出结果。 输出图片

请以代码形式展示结果,而非截图。详见元信息 - A.L

2
使用 str_replace 函数。
$a = str_replace('"', '', $a);

1

有两种方法可以从数组字符串中删除双引号和方括号。

示例1:

$ids = ["1002","1006","1005","1003","1004"];
$string = str_replace(array('[',']'),'',$ids);
$newString = preg_replace('/"/i', '', $string);
return $newString;

示例2:

function removeThirdBrackets($string)
 {
    $string = str_replace('[', '', $string);
    $string = str_replace(']', '', $string);
    $string = str_replace('"', '', $string);
    return $string;
 }

输出:

1002,1006,1005,1003,1004

在获得该输出(逗号分隔的那些数字)1002,1006,1005,1003,1004之后,您如何将它们插入数组中? - Pathros

-3
你可以这样做:
str_replace()
echo str_replace('\"', '', $a);

1
单引号中的双引号不需要转义。单引号使得其内部的字符被视为字面量。 - Freddie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接