将Microsoft Curly Quotes转换为PHP中的直引号

时间:2013-06-02 17:31:09

标签: php mysql double-quotes smart-quotes

我正在努力修复客户端数据库记录。我需要使用直引号

查找并替换所有与此"相似的卷曲引号

enter image description here

尝试1
我试图在我的MySQL数据库上运行它,没有运气。

update wp_posts set post_content = replace(post_content,'“','"');

尝试2
我也试过在下面用PHP搜索和替换,没有运气

<?php
$str = ' “evil curly quotes“ no "good straight quotes"';
str_replace ('“', '"', $str);

echo $str;

// Prints:
// “evil curly quotes“ no "good straight quotes"
?>

请帮助我,除了手动编辑数千条记录之外,还有一种简单的方法吗?

2 个答案:

答案 0 :(得分: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"
?>

编辑:Tom D在他的评论中也提供了正确的答案(并且比我更早做到了公平)。

答案 1 :(得分:0)

a.zip(a.map(&:upcase)).to_h

#=>{"a"=>"A", "b"=>"B"}