[Smarty] Variabelen en html-entiteiten

Pagina: 1
Acties:

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-03 05:03
Beste Mensen,

Ik ben met een webapplicatie waar ik smarty voor gebruik. Nu wil ik eigenlijk dat Smarty alle variabelen die hij krijg eerst door een html-entity wrapper haalt zodat alle speciale tekens in de variabelen - zoals Ë en ï - eerst omzet naar html-entiteiten, zodat browsers hier netjes mee overweg gaan en dat het correct xhtml word. Natuurlijk het in php zelf te doen is ook een optie, maar al iemand weet hoe dit via Smarty kan dan is dat een stuk efficiënter.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Waarom zou je het via Smarty willen als je het ook in PHP al kan? Smarty is namelijk helemaal niet efficiënter dan PHP zelf. Het is immers in PHP geschreven. 8)7

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-03 05:03
efficienter in programeren.. niet in executie want dat maakt niets uit uiteraard, daarnaast in php moet ik ook de scheiding gaan maken in mijn php code of het dynamische javascript of html is, en aangezien smarty *alleen* mijn html parst is dat efficienter het via smarty te laten doen (dus in één keer) dan inplaats van door mijn hele applicaite heen

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Volgens mij kan en mag je ï gewoon gebruiken zonder HTML entiteiten als je de page serveerd als UTF-8? :?

Correct me if I'm wrong...

  • simon
  • Registratie: Maart 2002
  • Laatst online: 20:43
{$variabele|htmlspecialchars}

check ze manual?

of (geloof dat 't werkt)
{$variabele|htmlentities}

[ Voor 36% gewijzigd door simon op 05-11-2005 16:22 ]

|>


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:26

crisp

Devver

Pixelated

GJ-tje schreef op zaterdag 05 november 2005 @ 16:20:
Volgens mij kan en mag je ï gewoon gebruiken zonder HTML entiteiten als je de page serveerd als UTF-8? :?

Correct me if I'm wrong...
Sterker nog: dat zijn zelfs geldige karakters in ISO-8859 ;)

Intentionally left blank


  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-03 05:03
Het kan misschien wel.. maar het is geen geldig xhtml.. althans de validator word er niet blij van

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Smarty:
1
{$variabele|escape}

Eventueel kun je ook iets anders doen natuurlijk:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class mijnSmarty extends Smarty {
    function assign($var,$value) {
        $value = mijnSmarty::htmlentities($value);
        parent::assign($var,$value);
    }

    function htmlentities($value) {
        if (is_string($value)) {
            $value = htmlentities($value);
        }
        elseif (is_array($value))
            foreach ($value as $key => $val) {
                $value[$key] = mijnSmarty::htmlentities($val);
            }
        }
        return $value;
    }
}
$smarty = new mijnSmarty();

[ Voor 34% gewijzigd door Skaah op 05-11-2005 19:57 . Reden: Syntax err. ]

Pagina: 1