всем привет
есть ли встроенная возможность "превращать" кавычки в html-сущности (мнемоники)?
ну… не знаю… на уровне модели, например…
всем привет
есть ли встроенная возможность "превращать" кавычки в html-сущности (мнемоники)?
ну… не знаю… на уровне модели, например…
beforeSave?.. afterFind?.. сеттеры/геттеры?..
не богато…
сделал бифоСэйв и афтэФайнд =
protected function afterFind()
{
$this->title = PVC::quotesReplaceBack($this->title);
parent::afterFind();
}
protected function beforeSave()
{
if(parent::beforeSave()) {
$this->title = PVC::quotesReplace($this->title);
return true;
} else {
return false;
}
}
и сами методы-обработчики в библиотеке =
public static function quotesReplaceBack($str)
{
$replace = array('"','«','»');
$search = array('"','«','»');
return str_replace($search, $replace, $str);
}
public static function quotesReplace($str)
{
$search = array('"','«','»');
$replace = array('"','«','»');
return str_replace($search, $replace, $str);
}
p.s. может кому пригодится
P.s.2 ORey = спасибо (плюсик поставил)
Обычно хватает.
Вообще говоря, я предпочитаю хранить в БД исходные значения, а все преобразования делать уже во вьюхах.
CHtml::encode и подобные.
я столкнулся с тем, что если в текстовом поле будут обычные кавычки - они сохранятся
но когда будешь грузить значение из БД в поле - текст обрежется до первой кавычки
Ну, если в коде что-нибудь типа <input type="text" value="<?= $record->description ?>" /> - тогда конечно.
Но для этого и существует эскейпинг сущностей. Мало ли, что там в БД понапихали, что ж теперь, вычищать всё?..
вот-вот…