Warum habe ich dann so extreme Probleme, wenn ich diese Funktion auf eine ®-Zeichen anwenden möchte?
function returnHTMLCompatible($input)
{
$reg = "<span style="vertical-align: 0.15em; font-size: 0.9em;">®</span>";
if(is_array($input)) {
foreach($input as $key => $value) {
if (is_array($value)) {
/* recursive call to test whether the array is still multidim or not */
$input[$key] = $this->returnHTMLCompatible($value);
} else {
//$value = htmlspecialchars($value);
$value = ereg_replace('&', "&", $value);
$value = ereg_replace('est®', "est<span style="text-decoration: underline;">c</span>®", $value);
$value = ereg_replace('®', $reg, $value);
$value = nl2br($value);
$input[$key] = $value;
}
}
} else {
$input = ereg_replace('&', "&", $input);
$value = ereg_replace('est®', "est<span style="text-decoration: underline;">c</span>®", $input);
$value = ereg_replace('®', $reg, $input);
$value = nl2br($input);
}
return $input;
}
Wenn ich die Unicode Daten aus der DB durch diese Funktion laufen lasse wird ständig ein schwarzes Quadrat plus das ® Zeichen ausgegeben. Vorher war alles in der DB Western Latin und da hat er das ® Zeichen schön höhergestellt und die Ausgabe sah gut aus.
Warum haut das nicht mehr hin ?