Seite 1 von 2

\$ im Text, Problem mit Dollarzeichen im Content

Verfasst: Mi 10. Mai 2006, 14:44
von blueline
Hallo Community,
ich habe das Problem, das bei mir im ganzen System immer wenn ich ein $ im Text einfuege, das System automatisch ein \ davor anzeigt. Geldwerte im Content sehen jetzt also immer so aus: \$199.
Da ich mit Contenido eine amerikanische Website mit einigen Dollarwerten erstelle faellt das ganze ziemlich negativ auf.

Hat jemand das gleiche Problem / Loesungsvorschlaege?

Waere sehr dankbar, ich habe keine Ahnung wo ich den Fehler suchen koennte.

MfG
blueline

Verfasst: Mi 10. Mai 2006, 15:00
von HerrB
Vermutlich schwer zu finden, aber es gibt bereits eine Lösung, bitte mal im Forum suchen (man muss was in einem Type in der con_type-Tabelle ändern). U.a. war rezeptionist der Autor, wenn ich mich recht erinnere.

Gruß
HerrB

Verfasst: Do 11. Mai 2006, 09:17
von rezeptionist

Verfasst: Do 11. Mai 2006, 10:37
von stese
weil wir gerade bei dem leidigen thema sind,

ich habe ja jetzt bei meiner seite den fall, dass ich die funktionsweise der advanced mod rewrite erkläre. dort schreibe ich auch variablennamen aus $idart, $idcat etc ...

prinzipiell wird bei jeglicher variable der inhalt geschrieben und nicht der name der datei.

umgehen lässt sich das folgendermaßen:

- datenbank, tabelle con_type
- type CMS_HTML bearbeiten
- suche zeile:

Code: Alles auswählen

$tmp = str_replace("\$", "\\$", $tmp);
- ersetze durch

Code: Alles auswählen

# $tmp = str_replace("\$", "\\$", $tmp);
$tmp = str_replace("\$", "&#36", $tmp);
zu sehen hier:
http://www.polycoder.de/contenido-wcms/ ... index.html

Verfasst: Do 11. Mai 2006, 13:19
von HerrB
Mal verschoben nach Bugs.

Gruß
HerrB

Verfasst: So 21. Mai 2006, 13:16
von emergence

Verfasst: Do 8. Jun 2006, 10:47
von HerrB
Du meinst, den \ durch die entsprechende Entity zu ersetzen:

Code: Alles auswählen

$tmp = str_replace("\\", "&#92", $tmp);
Right?

Gruß
HerrB

Verfasst: Do 8. Jun 2006, 10:53
von emergence
nicht den slash... das dollarzeichen muss ersetzt werden...
so wie stese das beschrieben hat..

Verfasst: Do 8. Jun 2006, 12:33
von HerrB
Ähm, na ja, aber der verlinkte Artikel verweist auf ein Problem mit sowas wie \"Test\". Kann natürlich sein, dass da intern da irgendwo ein Dollar draus wird - sonst wüsste ich nicht, wie das eine das andere löst (aber ich gebe zu, dass ich es einfach ausprobieren könnte... :wink: ).

Gruß
HerrB

Verfasst: Mo 12. Jun 2006, 16:13
von HerrB
Ging zwar gerade aneinander vorbei, aber ja, das ist die Lösung für beide Probleme: Die Ersetzung des $ und von \ durch die jeweilige Entity.

Gruß
HerrB

Verfasst: Sa 17. Jun 2006, 11:14
von emergence
@HerrB
gib mal $123 ein und speichere... ergebniss ist ganz intressant... ;-)

Verfasst: So 18. Jun 2006, 20:11
von HerrB
Na toll... Vorschläge? *Seufz*

Gruß
HerrB

Verfasst: So 18. Jun 2006, 20:32
von HerrB
Mein Fehler, es muss natürlich

Code: Alles auswählen

&#36 ;
lauten (mit Simikolon, ohne das Leerzeichen...). Dann klappts auch mit dem Nachbarn.

Findet sich in der con_type.

Gruß
HerrB

Verfasst: So 18. Jun 2006, 20:56
von HerrB
Done. Geschlossen.

Gruß
HerrB

Verfasst: So 18. Jun 2006, 23:01
von HerrB
Und wieder geöffnet, diese Ersetzung bringt mich noch um den Verstand. An sich funktioniert es wunderbar.

Aber natürlich killt diese Lösung JavaScript in bestimmten Konstellationen:

Code: Alles auswählen

<script language="Javascript">alert("This is a $ test"); alert ('This is Mac\'s test');</script>
Da kommt dann natürlich nur noch Murx raus (wenn man dieses komplette JS nimmt, sogar gar nix mehr, da er über das 's stolpert.

Aber immerhin lässt er den Text in Ruhe. Muss man sich nochmal in Ruhe und allen Konstellationen ansehen...

Gruß
HerrB