2010-08-17 4 views
0

Je suis principalement programmeur C++ qui revient à PHP saison. Chaque fois que je reviens je passe du temps à m'habituer à faire écho/imprimer du JavaScript/HTML/CSS correct en ce qui concerne le guillemet simple et le guillemet double ... etc. J'ai besoin d'un conseil sous la forme d'un ensemble de règles à suivre pour une bonne pratique d'évasion.Citer et échapper des conseils de chaînes de texte

Modifier Ceci est un petit exemple pour mon mauvais code de travail que je dois suivre une règle pour obtenir plus lisible:

$ret = "<a href=\"$url\"><img src=\"images/delete.png\" width=\"20\" height=\"20\"></img></a>"; 

Merci

Répondre

3

Je préfère utiliser la syntaxe à guillemet simple pour travailler avec HTML. Raisons:

  1. il est plus rapide (noticable avec des chaînes plus grandes avec un plus grand nombre d'itérations)
  2. il est plus facile de savoir où les vars sont
  3. attributs HTML doivent être échappé avec htmlspecialchars()
  4. vous
  5. ne doivent pas échapper à tous les doublequote

donc cette chaîne ressemblerait à ceci:

$ret = '<a href="'.htmlspecialchars($url).'"><img src="images/delete.png" width="20" height="20"></img></a>'; 
1

Le PHP documentation for Strings va sur les différentes façons littéraux de chaîne Vous pouvez spécifier:

  • unique cité
  • guillemets doubles
  • heredoc syntaxe
  • syntaxe Nowdoc (depuis PHP 5.3.0)

Est-ce assez bon?

+0

Merci @JustinEthier, Dans une sortie de texte de ligne de signle devrais-je mieux utiliser des guillemets doubles à l'intérieur de la chaîne entre guillemets simples et d'échapper les guillemets doubles et vice versa. Vous savez ... il y a beaucoup de possibilités en considérant JavaScript, PHP et HTML. Pouvez-vous me chercher? – mmonem

+0

Vous pouvez le faire de toute façon; mais si vos citations les plus externes sont doubles, toutes les variables de la chaîne seront développées (même si elles sont entre guillemets simples dans la chaîne), si elles sont simples, elles ne le seront pas. –

+0

@monmonem Dans certains scénarios, vous pouvez également encapsuler le nom de la variable entre accolades afin d'éviter toute confusion dans l'interprétation. – Codex73

Questions connexes