替换字符串中除第一个和最后一个引号之外的所有引号


Replace all but first and last quotation marks in string

我需要保留开始和结束引号,但替换字符串中的任何和所有其他引号。这将替换所有:

$message = str_replace("'"", "'", $message);

我怎样才能修改它以保留第一个和最后一个?

为什么不简单地删除所有引号,然后在开头和结尾添加一个引号:

$str = '"This "string" contains" double "quotes""';
$str = '"' . str_replace('"', '', $str) . '"';
echo $str,"'n";

输出:

"This string contains double quotes"

请参阅以下示例,

$str= "/123456/";
echo $str . "<br>";
echo str_replace(substr($str,1,-1),"123",$str);