PHP中的奇怪短划线字符

我的文本中有一个奇怪的短划线,在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的第三个参数替换为其名称.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...