0

どの文字が正規表現を満たしていないかをユーザーに通知したいと思います。しかし、画面に印刷しようとすると、疑問符が付いた三角形としてレンダリングされます。

これが私のコードです...

$matches = array();
$pattern = '"[^@?0¡Pp£_!1AQaq\$F\"2RBbr3¥G#\s\.\,\:\'3CScsè?¤4DTdtéO%5EUeuù?&6FVfvì?7GWgwòS\(8HXhxÇT\)9IYiy?\*:JZjzØ\+\;KÄkäøÆ\,\<LÖlöæ\-\=MÑmñÅ\.\>NÜnüåÉ\/\?O§oà\{\}]"';
$text = "Flight Vol {FN} vol est retardé d'au moins 1 heure, s'il vous plaît consulter les écrans de l'aéroport pour les mises à jour. Service à la clientèle de AIRLINE";  


if(preg_match($pattern, $text, $matches)){

    $output =  '<p>This Text contains invalid character(s) ';
    $output .= '<span style="color:#000; border-bottom:1px dashed #F33; padding:0px 5px 0px 5px; "><strong>'.implode(" ",$matches).'</strong></span>';
    $output .= ' is not allowed.</p>';
    $output .= "<p><strong>".$text."</strong></p><br />";
    print $output;
}

私はそれがラテン語エンコーディングまたは UTF-8 に関係していると考えていますが、サイトの残りの部分では UTF-8 を使用しています。ユーザーがテキストを修正できるように、$matches 配列内の文字をレンダリングする最良の方法は何ですか?

4

1 に答える 1