私は解析したいフランス語のサイトを持っていますが、(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