Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 04. Februar 2011 12:59

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Sonderzeichen und RSS Feeds

Heute per Zufall drüber gestolpert, dass ein kaufmännisches und "&" im Feedtitel einen ziemlichen Schluckauf generieren kann. (Fehler)

In den News wurde das & im Titel verwendet.

Hat sich einer von euch schon mal damit auseinander gesetzt? Was ist die Lösung?


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#2 04. Februar 2011 13:08

piratos
Gast

Re: Sonderzeichen und RSS Feeds

Unter Pcms habe ich ein paar Smartyvariable definiert wie z.B. $amp das & beinhaltet und empfehle immer die Smartyvariable einzusetzen, da zu oft ansonsten das einfache & daraus wird.

Das kann man auch unter cmsms machen.

#3 04. Februar 2011 13:11

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: Sonderzeichen und RSS Feeds

Das funktioniert aber auch nur, wenn du die News selber eingibst. In diesem Fall werde ich eher eine Funktion schreiben, welche mir die Seiten ersetzt.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#4 04. Februar 2011 13:26

piratos
Gast

Re: Sonderzeichen und RSS Feeds

nockenfell schrieb:

Das funktioniert aber auch nur, wenn du die News selber eingibst. In diesem Fall werde ich eher eine Funktion schreiben, welche mir die Seiten ersetzt.

Das Zauberwort heisst dann Smarty Modifierer.

#5 04. Februar 2011 13:52

piratos
Gast

Re: Sonderzeichen und RSS Feeds

Mal auf die schnelle ein shared Plugin zum Modiferer umgebaut:

<?php
/**
 * Smarty shared plugin
 * @package Smarty
 * @subpackage plugins
 */


/**
 * escape_special_chars common function
 *
 * Function: smarty_function_escape_special_chars<br>
 * Purpose:  used by other smarty functions to escape
 *           special chars except for already escaped ones
 * @author   Monte Ohrt <monte at ohrt dot com>
 * @param string
 * @return string
 */
function smarty_modifier_escape_special_chars($string)
{
    if(!is_array($string)) {
        $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
        $string = htmlspecialchars($string);
        $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string);
    }
    return $string;
}

/* vim: set expandtab: */

?>

Testeinsatz in einer Seite (ohne Tiny !!)
{assign var='test' value='&einer&zweier&dreier'}  {$test|escape_special_chars}

Ausgabe Quelltext:

&amp;einer&amp;zweier&amp;dreier

#6 04. Februar 2011 14:24

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: Sonderzeichen und RSS Feeds

Merci!  smile


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#7 04. Februar 2011 21:41

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Sonderzeichen und RSS Feeds

Habs mal aus praktischen Gründen ins Smarty-Board verschoben ...

Offline