除HTML代码之外的分号爆炸

时间:2014-06-17 11:43:19

标签: php arrays special-characters explode

我有一个包含200 ‰P;450 RG等值的文件。这些值与分号(;)上的爆炸分开,因此它应为value 1: 200 ‰Pvalue 2: 450 RG。遗憾的是,HTML特殊字符会导致问题,因为它们还包含分号。

有没有办法忽略HTML字符或将HTML字符设置为真值(并在爆炸后将它们设置回HTML)?

我尝试了htmlspecialchars_decodehtml entities decode,两者似乎都不适用于&#symbols

提前致谢!

2 个答案:

答案 0 :(得分:2)

如上所述,首先使用html_entity_decode

链接:https://eval.in/163799

<?php

$decodedText = html_entity_decode("200 &#8240;P;450 RG");

$values = explode(';', $decodedText);

foreach($values as $key => $value) {
  echo "value {$key}: {$value}".PHP_EOL;
}

将输出:

value 0: 200 ‰P
value 1: 450 RG

答案 1 :(得分:1)

我猜您应该先将HTML实体转换回编码文本。您应该使用PHP html-entity-decode函数。

http://docs.php.net/manual/en/function.html-entity-decode.php