пример использование HTML Purifier

 
0
 
PHP
ava
animegirl | 09.04.2013, 22:42
Читаю, что выдаут гугл с яндексом, и сижу туплю, везде так любят написать кучу воды, что не ясно, что именно то самое нужное, либо же опишут сам проект, без примера использования. Прошу просто написать мне простой пример, есть у меня переменная $text, там хтмл, как выглядит переменная $allowed_tags и как выглядит команда, чтоб текст обезопасить.
Ну примерно так:
$text = '...';
$allowed_tags = 'пример как должно быть';
$safer_text = как тут правильно вызвать команду?

Большое спасибо всем кто поможет.
Comments (16)
ava
Fortop | 10.04.2013, 00:12 #
Цитата (animegirl @  9.4.2013,  21:42 findReferencedText)
$safer_text = как тут правильно вызвать команду?


http://www.php.net/manual/en/function.strip-tags.php 
что ли?


Или речь идет о http://htmlpurifier.org/docs ?
ava
animegirl | 10.04.2013, 00:13 #
Fortop, Второе
ava
Fortop | 10.04.2013, 01:55 #

require_once '/path/to/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);


Собственно из мануала  smile 
ava
animegirl | 10.04.2013, 02:41 #
Fortop, Эмммм, он не модульный?
ava
Fortop | 10.04.2013, 14:31 #
Цитата (animegirl @  10.4.2013,  02:41 findReferencedText)
Fortop, Эмммм, он не модульный? 

что значит не модульный?

Он настраиваемый.
Хотя при желании можно пожалуй и дописать его
ava
animegirl | 10.04.2013, 22:11 #
Fortop,
Я честно думала, что все эти нагромождения в других примерах, это типичный дурацкий выпендрёж, а нет, всё действительно так плох. Ненавижу классы.

Модульный, в моём понимание, это когда ставишь пакет с функциями, и их можно напрямую использовать,а  тут нужно инклудить его.
ava
Sanchezzz | 10.04.2013, 23:13 #
animegirl,  знаю вашу не любовь к классам из соседних давних тем, есть такая штука spl_autoload_register  чтобы легко было подключать классы, главное функцию подключения классов реализовать грамотно.
Даже стандарт есть организации функции  PSR-0

И жизнь станет лучше.
ava
Fortop | 11.04.2013, 11:33 #
Цитата (animegirl @  10.4.2013,  22:11 findReferencedText)
это когда ставишь пакет с функциями, и их можно напрямую использовать,а  тут нужно инклудить его. 

Я не знаю ни одного пакета с функциями написанного на php. который не нужно подключать.

И это не зависит от того используются функции или классы.
ava
IgorIV | 11.04.2013, 12:01 #
Fortop,  имелось ввиду, что допустим поставив imagick, можно сразу использовать newImage не писав никаких include.
ava
Fortop | 11.04.2013, 12:36 #
Цитата (IgorIV @  11.4.2013,  12:01 findReferencedText)
Fortop,  имелось ввиду, что допустим поставив imagick, можно сразу использовать newImage не писав никаких include.

ну вранье же  smile 

от наличия imagick в системе работать ничего не будет.

необходимо еще и установить соответствующий extension в настройках php, чем это отличается от include?
ava
Sanchezzz | 11.04.2013, 15:37 #
наверное тем что эту проблему решит другой человек админ итд... всего 1 раз на данной машине.
ava
animegirl | 11.04.2013, 21:59 #
Цитата (Fortop @ 11.4.2013,  11:33)
Цитата (animegirl @  10.4.2013,  22:11 \\"findReferencedText\\")
это когда ставишь пакет с функциями, и их можно напрямую использовать,а  тут нужно инклудить его. 


Я не знаю ни одного пакета с функциями написанного на php. который не нужно подключать.



И это не зависит от того используются функции или классы.

GeoIP, функция geoip_country_code_by_name просто так "из коробки" нету, ставится деб пакет "php5-geoip" и без инклудов, всё начинает работать-
ava
Sanchezzz | 11.04.2013, 22:52 #
Если тока на Cи переписать и сделать пакет.
Посмотрите мой пост про spl_autoload_register или __autoload один раз сделаете функцию которая будет ваши классы подрубать из разных папок и не нужно делать 1050 инклудов, функция с инструкциями по подключению файлов сделает это за вас.




ava
Fortop | 12.04.2013, 03:36 #
Цитата (Sanchezzz @  11.4.2013,  22:52 findReferencedText)
Если тока на Cи переписать и сделать пакет.

Ох уж знатоки....


Цитата (animegirl @  11.4.2013,  21:59 findReferencedText)
 ставится деб пакет "php5-geoip" и без инклудов, всё начинает работать-


Читать умеем?
Цитата (Fortop @  11.4.2013,  11:33 findReferencedText)
ни одного пакета с функциями написанного на php



Но при желании можно и php файлы подключать аналогично расширениям.
http://www.php.net/manual/en/ini.core.php#...to-prepend-file
Вопрос - зачем?
ava
Sanchezzz | 12.04.2013, 09:04 #
и зачем только вот такие навороты устраивать?) 
ava
cia | 12.04.2013, 09:44 #
Цитата (Sanchezzz @  11.4.2013,  22:52 findReferencedText)
Если тока на Cи переписать и сделать пакет.


Можно пойти ещё дальше и вообще без единого инклюда обойтись - надо лишь весь сайт на си написать и засунуть в php extension... Хотя... нафиг тут тогда вообще PHP?  smile 

Цитата (Sanchezzz @  11.4.2013,  22:52 findReferencedText)
Посмотрите мой пост про spl_autoload_register или __autoload  один раз сделаете функцию которая будет ваши классы подрубать из разных папок и не нужно делать 1050 инклудов, функция с инструкциями по подключению файлов сделает это за вас.


Это, конечно, дело личное, но я бы не стал использовать такой вариант: по-моему лучше самому контролировать подключаемые файлы и подключать на каждый запрос исключительно то, что нужно. Кроме того возможны (и на самом деле не так уж и редки) случаи, когда один класс (или функция) имеют больше одной реализации и выбирать нужную всё равно в этом случае придётся вручную.

А 1050 инклюдов - это свидетельство о том, что структура спланирована неправильно. Их должно быть два-три. И каждый файл сам должен цеплять необходимые ему зависимые файлы. Как-то так  smile 
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit