Hallo,
ich lasse mir per fluid einen JSON-String zusammenbauen. Das klappt soweit auch gut.
Ich nutze die Daten dann für eine Suggest-Suche in einem Input-Feld.
Alles klappt soweit, nur leider gibt er mir "&" als "& amp ;" aus, weil fluid es mir vorher so in das JSON-Objekt geschmissen hat.
Und darauf hin steht es dann nach Auswahl auch so im Input-Feld, was natürlich nicht gewollt ist.
Gibt es hier eine elegante Lösung, dass zu verhindern?
Ein eigener ViewHelper scheint mir hier nichts zu bringen, da der String hinterher noch durch den fluid-Parser geht und dort "&" zu "& amp ;" wird - wenn ich das richtig nachvollzogen habe.
Bin für Ansätze oder Feedback dankbar.
Danke, Hannes
Gut, ich habe mir mit einem ViewHelper geholfen, allerdings fühlt sich das unheimlich schäbig an:
public function render() {
$content = $this->renderChildren();
$converted = str_replace('&', '&', $content);
return $converted;
}
Des weiteren brauchte ich auch einen Helper der mir Strings so umbaut, dass ich diese z.B. als CSS-Id's nutzen kann:
public function render() {
$locale = 'de_DE';
$oldLocale = setlocale(LC_CTYPE,0);
setlocale(LC_CTYPE,$locale);
setlocale(LC_CTYPE,$oldLocale);
$converted = iconv("utf-8","ascii//TRANSLIT",$this->renderChildren());
$converted = preg_replace('/&.+?;/', '_' , $converted);
$converted = str_replace(' ', '', $converted);
$replace = array('&', ';', ',', '.', '?', '-');
$converted = strtolower(str_replace($replace, '_', $converted));
return $converted;
}
Fühlt sich auch nicht klasse an, aber hilft jetzt erstmal.