Я попытался объединить код из примера 2 из http://php.net/manual/en/pdo.connections.php в /app/View/Pages/home.ctp. Мне пришлось исправить аргументы конструктора PDO и изменить имя таблицы в запросе. Код примера 2 возвратил ошибку «Ошибка !: Не удалось найти драйвер». Основываясь на ответе короля Jk, я пытался изменить php.ini, когда начал задаваться вопросом, где может жить php_pdo_mysql.so. http://php.net/pdo_mysql показал, как он был скомпилирован как часть PHP с помощью параметра --with-pdo-mysql для настройки. Перекомпиляция исправила мою проблему. Примечание. Я работаю в системе Ubuntu 12.10 с PHP 5.5.9 и Apache Webserver 2.4.6
.
Модуль html.entities
( htmlentitydefs
для python 2.x) содержит словарь codepoint2name
, который должен делать то, что вы необходимо.
>>> import html.entities
>>> html.entities.codepoint2name[ord("&")]
'amp'
>>> html.entities.codepoint2name[ord('"')]
'quot'
Возможно, вам понадобится xml.sax.saxutils.escape :
from xml.sax.saxutils import escape
escape(unsafe, {'"':'"'}) # ENT_COMPAT
escape(unsafe, {'"':'"', '\'':'''}) # ENT_QUOTES
escape(unsafe) # ENT_NOQUOTES
Посмотрите xml.sax.saxutils.quoteattr , возможно быть более полезным для вас
Если вы используете django 1.0, ваши переменные шаблона уже будут закодированы и готовы к отображению. Вы также можете использовать безопасный
оператор {{var | safe}}
, если не хотите, чтобы он был включен глобально.
from django.utils.html import escape
print escape('<div class="q">Q & A</div>')