Цитирование и экранирование текстовых строк - PullRequest
0 голосов
/ 17 августа 2010

Я в основном программист на C ++, который сезонно возвращается на PHP.Каждый раз, когда я возвращаюсь, я трачу время, чтобы привыкнуть к выводу / печати правильных JavaScript / HTML / CSS относительно одинарных и двойных кавычек ... и т. Д.Мне нужен совет в виде набора правил, которым нужно следовать для хорошей практики побега.

Редактировать Это небольшой пример моего плохого рабочего кода, которому я должен следовать правилу, чтобыполучить более читабельным:

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

Спасибо

Ответы [ 2 ]

3 голосов
/ 17 августа 2010

Я бы предпочел использовать синтаксис одинарных кавычек для работы с HTML. Причины:

  1. это быстрее (заметно при больших строках с большим количеством итераций)
  2. проще узнать, где находятся
  3. атрибуты html необходимо экранировать с помощью htmlspecialchars ()
  4. вам не нужно избегать каждой двойной кавычки

Так что строка будет выглядеть так:

$ret = '<a href="'.htmlspecialchars($url).'"><img src="images/delete.png" width="20" height="20"></img></a>';
1 голос
/ 17 августа 2010

В документации PHP для строк рассматриваются различные способы указания строковых литералов:

  • одинарные кавычки
  • двойные кавычки
  • синтаксис heredoc
  • синтаксис nowdoc (начиная с PHP 5.3.0)

Достаточно ли это хорошо?

...