删除“&;nbsp&引用;在php中

删除“&;nbsp&引用;在php中,php,curl,preg-replace,html-entities,Php,Curl,Preg Replace,Html Entities,使用此url,我们可以进行货币转换 这是结果:{lhs:“150欧元”,rhs:“1691.50299摩洛哥迪拉姆斯”,错误:,icc:true} 我尝试使用这个类似于json的结果。 所以我使用了json\u decode,但它不起作用 所以我认为它看起来像serilize/unserialize,所以我使用了unserialize,但它不起作用 紧张的是,我使用了regexp,最后我得到了dirhams中带有的值,因为该值在昏迷前得到了4个数字 这个我不能删除!我试着用preg_替换,str

使用此url,我们可以进行货币转换

这是结果:
{lhs:“150欧元”,rhs:“1691.50299摩洛哥迪拉姆斯”,错误:,icc:true}

我尝试使用这个类似于json的结果。 所以我使用了
json\u decode
,但它不起作用

所以我认为它看起来像serilize/unserialize,所以我使用了
unserialize
,但它不起作用

紧张的是,我使用了regexp,最后我得到了dirhams中带有
的值,因为该值在昏迷前得到了4个数字

这个
我不能删除!我试着用preg_替换,str_替换。。。不可能

这就是函数

我只想得到“dirhams值”,仅仅是浮点数

有人能帮我吗

public function convertDirhams($prix, $monnaie_base = 'euro', $monnaie_convert = 'dirhams')
{
    $prix = urlencode($prix);
    $monnaie_base = urlencode($monnaie_base);
    $monnaie_convert = urlencode($monnaie_convert);
    $url = "http://www.google.com/ig/calculator?hl=fr&q=$prix$monnaie_base=?$monnaie_convert";
    $ch = curl_init();
    $timeout = 0;
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,  CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $rawdata = curl_exec($ch);
    curl_close($ch);
    /*$data = explode('"', $rawdata);
    $data = explode(' ', $data['3']);
    $var = $data['0'];*/

    $data = preg_replace('/ /','',$rawdata);
    $data = explode(':',$data);
    $data = preg_replace('/"/','',$data[2]);
    $data = preg_replace('/Moroccandirhams,error/isu','',$data);
    $prix_final = preg_replace("/&#?[a-z0-9]{2,8};/i","",$data);
    //echo $prix_final;


    return (float)trim($data);
} 

当我使用谷歌货币转换器时,我也遇到了这个问题。我尝试了很多东西,但都不管用。最后我找到了这段代码

您可以尝试以下方法:

$number = preg_replace('/[^a-z0-9.]/', '', $number);


两者都很好用
ereg_replace()
是php5.3中的折旧函数

json_解码有什么“不起作用”?(鉴于此代码中没有引用
,我高度怀疑这是这里的问题)尝试与@BillyONeal相同的方法,
json\u decode()
应该可以工作。您有什么错误消息/结果?还有
&nsbp,因为
1
691
之间的空格是**b**reaking**sp**ace上的**n**。这不是你的问题。@Billy:这不是有效的json。钥匙没有被引用。
$number = ereg_replace("[^A-Za-z0-9.]", "", $number );