首页 > 解决方案 > 如何用 PHP 去除问号(字符串)

问题描述

我从维基百科网站' https://en.wikipedia.org/wiki/Specials_(Unicode_block) '中读取了 unicode 块字符串,但它与编码无关,以及如何不删除有时会出现像“�”这样的符号,因为这个字符串不知道 PHP 语言。

这是我的代码(php):

<?php
$str1 = 'Apple iPhone X , 64GB , Space Gray';
$title1 = substr($str1, 0, 15) . '...'; 
echo str_replace('/[\s]+/','',$title1);
echo '<br>';
$str2 = 'ipod اجدد اصدار من ابل';
$title2 = substr($str2, 0, 15) . '...'; 
echo str_replace('/[\s]+/','',$title2);
?>

出去 :

Apple iPhone X ...
ipod اجدد �...

如何删除问号“�”?

标签: php

解决方案


我认为问题不在于 php 不理解字符,而在于浏览器。

只需将其更改为&#xHEXCHAR;但不要忘记替换HEXCHAR为您的角色的十六进制 unicode 表示。

如果删除x,则必须使用 char 的十进制表示。

例如,角色A将是&#65;&#x41

在您的情况下,它将是:

'ipod &#x627 &#x62C; &#x62F; &#x62F; &#x20; &#x627; &#x635; &#x62F; &#x627; &#x631; &#x20; &#x645; &#x646; &#x20; &#x627; &#x628; &#x644;'

如果你这样做了,别忘了调整substrandreplace方法。

转义字符也可以通过获取每个字符的 unicode 表示并将 char 替换为&#x、十六进制表示和;.


推荐阅读