Очистка форматированного текста
Антон подскажи пожалуйста.
Есть техническая возможность, очищать форматирование текста при подаче объявления.
А то форматированный текст смотрится не презентабельно.
Есть техническая возможность, очищать форматирование текста при подаче объявления.
А то форматированный текст смотрится не презентабельно.
Приведите пример, что нужно удалить (какие символы и т.п.) в форматированном тексте?
Ну например если при подаче объявления, пользователь тупо из ворда или ещё откуда копирует текст.
https://yadi.sk/i/df8INDR8k9Qow
Вроде всё нормально, но в итоге получается так.
https://yadi.sk/i/TMVnSmMCk9Qrt
И это только нумерованный список, а если потестить далее, то тело объявления раздвигается до футера.
Хотя и стоит подсказка пользователям, что простой текст без форматирования, но это как о стенку горох.
------------------------------------------------------------------------------------------------------------------------------
Собственно и вопрос, как в пользовательской части при подаче объявления, не допускать (очищать) теги.
Заранее спасибо.
P/S Спасибо да движок, чем дальше в нём копаешся, тем он более интересен!!!
https://yadi.sk/i/df8INDR8k9Qow
Вроде всё нормально, но в итоге получается так.
https://yadi.sk/i/TMVnSmMCk9Qrt
И это только нумерованный список, а если потестить далее, то тело объявления раздвигается до футера.
Хотя и стоит подсказка пользователям, что простой текст без форматирования, но это как о стенку горох.
------------------------------------------------------------------------------------------------------------------------------
Собственно и вопрос, как в пользовательской части при подаче объявления, не допускать (очищать) теги.
Заранее спасибо.
P/S Спасибо да движок, чем дальше в нём копаешся, тем он более интересен!!!
Попробуйте так:
applications\bulletin_board\frontend\models\bulletin\Bulletin_Validate_POST.php
добавьте функцию
найдите
и замените на
Для исправления вашего примера:
applications\bulletin_board\frontend\views\native\tpl\view-bulletin.tpl
найдите замените на
applications\bulletin_board\frontend\models\bulletin\Bulletin_Validate_POST.php
добавьте функцию
public function cleanHTML($html = '') {
require_once(V_LIBS_DIR . 'htmlpurifier' . V_DS . 'library' . V_DS . 'HTMLPurifier.auto.php');
$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', 'UTF-8');
$config->set('Cache.DefinitionImpl', null);
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
$config->set('HTML.TidyLevel', 'heavy');
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($html);
return $clean_html;
}
require_once(V_LIBS_DIR . 'htmlpurifier' . V_DS . 'library' . V_DS . 'HTMLPurifier.auto.php');
$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', 'UTF-8');
$config->set('Cache.DefinitionImpl', null);
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
$config->set('HTML.TidyLevel', 'heavy');
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($html);
return $clean_html;
}
найдите
protected function _validateTextarea($field) {
$value = $this->Input->post($field['name']);
$value = trim($value);
return (string) $value;
}
$value = $this->Input->post($field['name']);
$value = trim($value);
return (string) $value;
}
и замените на
protected function _validateTextarea($field) {
$value = $this->Input->post($field['name']);
$value = trim($value);
$value = $this->cleanHTML($value);
return (string) $value;
}
$value = $this->Input->post($field['name']);
$value = trim($value);
$value = $this->cleanHTML($value);
return (string) $value;
}
Для исправления вашего примера:
applications\bulletin_board\frontend\views\native\tpl\view-bulletin.tpl
найдите
<p>{$bulletin.description|regex_replace:"/[\r\t\n]/":"<br />"}</p>
<p>{$bulletin.description|regex_replace:"/[\r\n]/":"<br />"}</p>
Спасибо Антон помогло.
Собственно если выполнить все пункты, что Вы написали получается так - форматирование не очищается, но всё встаёт на свои места.
Если выполнить все пункты
applications\bulletin_board\frontend\models\bulletin\Bulletin_Validate_POST.php
applications\bulletin_board\frontend\views\native\tpl\view-bulletin.tpl
Списки и нумерованные и не нумерованные, отображаются нормально но с двойным пробелом.
https://yadi.sk/i/xnhG9Kl0k9kKX
https://yadi.sk/i/OcmQ5nvCk9kMU
А если не выполнять код для -Bulletin_Validate_POST.php
А сделать только -view-bulletin.tpl
Получается как надо
https://yadi.sk/i/rS07yju9k9kR5
Ну в принципе, то что и нужно.
Спасибо.
Собственно если выполнить все пункты, что Вы написали получается так - форматирование не очищается, но всё встаёт на свои места.
Если выполнить все пункты
applications\bulletin_board\frontend\models\bulletin\Bulletin_Validate_POST.php
applications\bulletin_board\frontend\views\native\tpl\view-bulletin.tpl
Списки и нумерованные и не нумерованные, отображаются нормально но с двойным пробелом.
https://yadi.sk/i/xnhG9Kl0k9kKX
https://yadi.sk/i/OcmQ5nvCk9kMU
А если не выполнять код для -Bulletin_Validate_POST.php
А сделать только -view-bulletin.tpl
Получается как надо
https://yadi.sk/i/rS07yju9k9kR5
Ну в принципе, то что и нужно.
Спасибо.