str_replace auf CMS_HTML anwenden - nur wie?

Gesperrt
Fehlerchen
Beiträge: 10
Registriert: Do 19. Jun 2008, 08:34
Wohnort: Berlin
Kontaktdaten:

str_replace auf CMS_HTML anwenden - nur wie?

Beitrag von Fehlerchen »

Ich freue mich, Euch das 1. Mal um Hilfe bitten zu können :wink:

Ich möchte innerhalb von eigegebenen Texten die Standardanführungszeichen -"Text"- in die deutsche Fassung „Text “ umwandeln. Die Texte wurden per CMS_HTML[1] eingebunden, also das Standardtextmodul und sollen vom Kunden ohne Umstände editierbar sein
Heißt: Er soll nicht die Eingabe Alt+0132 vornehmen, sondern den Text einfach über die Standardbelegung der Tastatur eingeben.

Nun meine Frage: Wie integriere ich einen Austausch der Zeichenkette?

Mein Ansatz:

Code: Alles auswählen

str_replace('""','„“', CMS_HTML[1])
Was natürlich nicht funktionierte!

Hat jemand vielleicht einen sinnvollen Lösungsansatz?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

preg_replace verwenden... (ohne parsen.. sprich etwas logik, kommst du da nicht weit... mit preg ist das zum teil möglich...)

Code: Alles auswählen

<?php
$string = 'do "whatever" you what';

$string = preg_replace('/"([^"]+?)"/i', "quotunten".'$1'."quotoben", $string);

echo $string;
?>
quotunten und quotoben musst du halt entsprechend ersetzen...

so long...
*** make your own tools (wishlist :: thx)
Fehlerchen
Beiträge: 10
Registriert: Do 19. Jun 2008, 08:34
Wohnort: Berlin
Kontaktdaten:

Beitrag von Fehlerchen »

Danke erstmal für den Versuch.
Worauf ich jedoch aus war, ist folgendes:

Im Standardtextmodul - Output:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Text HTML
* Author(s)   :     Andreas Lindner
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/
echo "<div class=\"content\">";
echo "CMS_HTML[1]";
echo "</div>";

?>
soll CMS_HTML[1] diese Funktion tragen. So dass noch der WYSIWYG-Editor genutzt werden kann und bei den dort eingegebenen Texten nach Speicherung die Anführungszeichen umgestellt werden.

Ich las auch bereits, dass man in phpMyAdmin im Table "con_Type" das Modul Text/HTML editieren könne.
--> http://forum.contenido.org/viewtopic.php?p=1943#1943

So habe ich es bis jetzt gelöst:
ich habe in der include.CMS_HTML.php am Anfang des Quellcodes

Code: Alles auswählen

function sonderzeichen($HTML){
   $HTML = ereg_replace(""","&bdquo;",$HTML);
   $HTML = ereg_replace(""","&ldquo;",$HTML);
   # echo $HTML;
   return $HTML;
}
eingegeben und den Eintrag

Code: Alles auswählen

	$CMS_HTML=sonderzeichen($CMS_HTML);
in die erste If_Abfrage eingesetzt.
Nun funktionert das auch, natürlich nur zum Teil.
Denn nun macht die Funktion zwar aus beiden Standard-Anführungszeichen ("") die deutsche Variante ( „“) aber leider nur die unten stehenden.

Wie kann ich der Funktion zuweisen, dass es sich bei den Zeichen um An- und Abführungszeichen handelt und der diese jeweils umwandelt?

Vielen Dank im Vorraus
Gesperrt