我看过其他解决方案 here和 here ,但它对我不起作用。
代码
$s1clean = 'ALIEN - FILM - MOVIE – PSP – Sony - Boxed & Complete';
echo $s1clean;
echo "<br><br>";
// Remove dash
$s1clean = str_replace('-', '', $s1clean);
// Remove em dash
$em_dash = html_entity_decode('–', ENT_COMPAT, 'UTF-8');
$s1clean = str_replace($em_dash, '', $s1clean);
$em_dash2 = html_entity_decode('—', ENT_COMPAT, 'UTF-8');
$s1clean = str_replace($em_dash2, '', $s1clean);
$s1clean = str_replace('\u2014', '', $s1clean);
echo $s1clean;
echo "<br><br>";
输出
“外星人电影 – PSP – 索尼盒装完整版”
如何删除这个字符?
最佳答案
这指定了一个可能删除的数组,
$s1clean = 'ALIEN - FILM - MOVIE – PSP – Sony - Boxed & Complete';
$s1clean = str_replace(["-", "–"], '', $s1clean);
echo $s1clean;
跑的时候,
输出
外星人电影 PSP 索尼盒装完整
我只是复制了奇怪的破折号并添加了实际的破折号可能性并且它起作用了。
阅读 Material
关于php - 如何从字符串中删除 'em' 破折号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019315/