问问题
2798 次
2 回答
1
您实际上并没有替换任何值。str_replace
您忘记将调用的返回值分配给$str
变量。这可以解决问题:
<?php
$str = ' “evil curly quotes“ no "good straight quotes"';
$str = str_replace ('“', '"', $str);
echo $str;
// Prints:
// “evil curly quotes“ no "good straight quotes"
?>
编辑:汤姆 D 在他的评论中也提供了正确的答案(为了公平起见,比我更早做到了)。
于 2013-06-02T18:21:28.017 回答
0
// Replace smart or curly quotes, dashes and ellipses
// Replace UTF-8 characters.
$string = str_replace(
array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"),
array("'", "'", '"', '"', '-', '--', '...'),
$string);
// Replace Windows-1252 equivalents.
$string = str_replace(
array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)),
array("'", "'", '"', '"', '-', '--', '...'),
$string);
于 2017-06-11T02:19:28.130 回答