如何使用 str_replace 在 PHP 字符串中添加双引号字符

how to add double quotation character in PHP string using str_replace

我在 PHP 中有字符串,例如:

[x,y,z]

我想将其更改为

["x", "y", "z"]

我用了str_replace但是我不能像这样表示其中的双引号"

$modified = str_replace("[", "["", $NodeIDs);

我也像 java 一样在它前面使用了 \,但它出现在输出中。我该怎么做?

您可以在单引号内使用双引号 " ':

$modified = str_replace("[", '["', $NodeIDs);

或者逃避他们:

$modified = str_replace("[", "[\"", $NodeIDs);

或者这可能是获得所需结果的更好方法:

$letters = explode(',', trim($NodeIDs, '[]'));
$NodeIDs = '["' . implode('","', $letters) . '"]';

就这么办

使用trim从字符串中删除[],然后使用explode函数获取展开的字符串,然后implode它们.

$str = '[x,y,z]';    
$arr = explode(",", trim($str, "[]"));    
echo $str = '["'.implode('","', $arr).'"]'; //["x","y","z"]

另一种选择是使用 trimexplodejson_encode:

$output = json_encode(explode(',', trim('[x,y,z]', "[]")));
print_r($output);
//["x","y","z"]

Ideone Demo

单引号应该可以解决问题:

$modified = str_replace("[", '["', $NodeIDs);

祝你项目顺利!