从php字符串中删除奇怪的字符

php
2022-08-30 15:51:08

这就是我现在拥有的

将 RSS 源绘制到 php 中,来自 rss 源的原始 xml 显示:

Paul’s Confidence

到目前为止,我拥有的php是这个。

$newtitle = $item->title;
$newtitle = utf8_decode($newtitle);

以上返回;

Paul?s Confidence

如果我删除utf_decode,我得到这个

Paul’s Confidence

当我尝试str_replace;

$newtitle = str_replace("”", "", $newtitle);

它不起作用,我得到;

Paul’s Confidence

有什么想法吗?


答案 1

这是我的函数,无论编码如何,它始终有效:

function RemoveBS($Str) {  
  $StrArr = str_split($Str); $NewStr = '';
  foreach ($StrArr as $Char) {    
    $CharNo = ord($Char);
    if ($CharNo == 163) { $NewStr .= $Char; continue; } // keep £ 
    if ($CharNo > 31 && $CharNo < 127) {
      $NewStr .= $Char;    
    }
  }  
  return $NewStr;
}

它是如何工作的:

echo RemoveBS('Hello õhowå åare youÆ?'); // Hello how are you?

答案 2

试试这个:

$newtitle = html_entity_decode($newtitle, ENT_QUOTES, "UTF-8")

如果不是解决方案,请浏览此页面 http://us2.php.net/manual/en/function.html-entity-decode.php


推荐