구문 분석하려는 프랑스어 사이트가 있지만 (uft-8) html을 latin-1로 변환하는 데 문제가 있습니다.PHP : UTF-8 HTML에서 변환
문제는 다음 phpunit을 테스트 케이스에 나타내
class Test extends PHPUnit_Framework_TestCase {
private static function fromHTML($str){
return html_entity_decode($str, ENT_QUOTES, 'UTF-8');
}
public function test1(){
//REMOVE THE SPACE between the '&' and 'nbsp'. SO won't
//let me write it without the space
$strFrom = 'Wanted& nbsp;: les Chasseurs de Tamriel';
$strTo = 'Wanted : les Chasseurs de Tamriel';
$strFrom = self::fromHTML($strFrom);
$this->assertEquals($strTo, $strFrom);
}
public function test2(){
$strFrom = 'Remplacement d’Almalexia';
$strTo = 'Remplacement d’Almalexia';
$strFrom = self::fromHTML($strFrom);
$this->assertEquals($strTo, $strFrom);
}
}
TEST2 잘 완성한다. test1은 공간이 정확하지 않으므로 ascii로 변환 될 때 알 수없는 문자 ()로 끝납니다.
두 테스트가 모두 통과하는 것을 어떻게 보장합니까?
왜 '&'와 'nbsp;'사이에 공백이 있습니까? 그게 당신이 고치려고하는 것입니까? – Nate
왜냐하면 나는 공간이 없으면 그것을 쓸 수 없기 때문이다. 그렇지 않다면 나는 공간으로 변환한다. – Yacoby
"& nbsp;"라고 쓰면된다. – Bombe