我的文本中有一个奇怪的短划线,在str_replace中没有检测到.
这是一个例子:
太阳:10:00-3:00
我不知道破折号是否会显示在这里..但当它插入我的表时,它就像一个方形框,字符0096
它看起来很像& ndash; – 查看源时,没有特殊字符,只有短划线.
str_replace('–','',$var);
上面的替换似乎没有抓住它,有没有其他人在此之前遇到过这个问题?
这是一个
en dash.在PHP中,最便携的方式是使用
html_entity_decode
:
$endash = html_entity_decode('–',ENT_COMPAT,'UTF-8'); echo str_replace($endash,'(en dash)','Sun: 10:00 – 3:00pm');
请注意,这仅适用于您的网站编码为UTF-8且编辑器编码(或str_replace的第三个参数的编码)的情况.如果您使用其他编码(并且您应该对网站和编辑器使用相同的编码),请将html_entity_decode的第三个参数替换为其名称.
原文地址:https://www.jb51.cc/php/132846.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。