1
4

2 回答 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 回答