使用Specail字符爆炸变量时出错

时间:2015-04-24 13:47:48

标签: php special-characters explode

$html = file_get_contents('abc.com/abc');
// create document object model
$dom = new DOMDocument();
// load html into document object model
@$dom->loadHTML($html);
// create domxpath instance
$xPath = new DOMXPath($dom);
// get all elements with a particular id and then loop through and print the href attribute
$elements = $xPath->query("//*[@class='f16']");
foreach ($elements as $e) {
  $str = $e->nodeValue;
}
$values = explode("A", $str);
echo $values[0];

返回“Data1 Â Data2 Â Data 3

但是,它可以正常工作,

$values = explode("Â", "Data1 Â Data2 Â  Data 3");
echo $values[0];

返回“Data1

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

最后我发现了它。

$values = explode(chr(194), $str);

因为它是用ANSI编码的。

答案 1 :(得分:-1)

如果您尝试返回所有数据,则可以使用foreach,如下所示:

<?php
$str = "Data1 Â Data2 Â  Data 3";
$values = explode("Â", $str);

foreach($values as $index=>$value) {
echo "$index - $value<br>";
}

?>

返回:

0 - Data1
1 - Data2
2 - Data 3