符号上的® str_replace在 PHP 中不起作用


str_replace on ® symbol does not work in PHP

标题中说了这一切。以下代码始终返回 false:

$product = str_replace('®', '', $product);    

我还尝试搜索该®符号的 html 实体。

有解决方案吗?

由于文件编码,您必须将符号解码为其实体值 ( ®

$product = html_entity_decode(str_replace('®', '', htmlentities($product)));

我认为HD-的答案是正确的,但我认为这个带有特殊字符的字符串来自数据库,您没有快速将符号转换为®其HTML表示®

您遇到的问题可能是由于数据库连接使用的编码与 php 脚本使用的编码不同

如果您的 PHP 脚本以 UTF-8 格式保存,请尝试以下代码:

$product = str_replace('®', '', utf8_encode($product));