HTMLочиститель Youtube

<?php

require_once '/library/HTMLPurifier/HTMLPurifier.auto.php';

    $config = HTMLPurifier_Config::createDefault();

    $config->set('Filter.YouTube', true);

        $purifier = new HTMLPurifier($config);
?>

(^ Это мои единственные настройки для HTMLPurifier)

Это должно <span class="youtube-embed">nto6EvPFO0Q</span> встроиться во встроенное видео на Youtube. Но это не работает. (Ничего не происходит просто)

Но работает такая загрузка:

<object width="425" height="350">
  <param name="movie" value="http://www.youtube.com/v/nto6EvPFO0Q />
  <param name="wmode" value="transparent" />
  <embed src="http://www.youtube.com/v/nto6EvPFO0Q"
         type="application/x-shockwave-flash"
         wmode="transparent" width="425" height="350" />
</object>

(Это проблема безопасности? ^)


person John    schedule 02.10.2011    source источник
comment
Когда вы говорите: файл в формате ANSI, вы имеете в виду CP-1252?   -  person Ariel    schedule 02.10.2011
comment
Я перешел на UTF-8. Просто проблема с ютубом. Я собираюсь отредактировать свой вопрос, чтобы его было легче понять.   -  person John    schedule 02.10.2011
comment
Я думаю, что вы удалили слишком много вопроса. Я не вижу там никаких символов åäö.   -  person JJJ    schedule 02.10.2011
comment
@Juhana Ну, проблема во встраивании на Youtube :) Я исправил åöä!   -  person John    schedule 02.10.2011
comment
И я обновил свой ответ.   -  person Ariel    schedule 02.10.2011


Ответы (1)


Используйте UTF-8. Все остальные наборы символов устарели и никогда не должны использоваться, кроме как в устаревших приложениях, где у вас нет другого выбора.

Изменить (после обновления вопроса):

Во-первых, вы должны использовать это:

<iframe class="youtube-player" type="text/html" width="640" height="385"
 src="http://www.youtube.com/embed/XXXXIDXXXX" frameborder="0"></iframe>

Вместо этого, поскольку он работает на смартфонах, а флэш-версия — нет.

Во-вторых, в соответствии с их документацией вам необходимо загрузить и подключить YouTube.php из http://repo.or.cz/w/htmlpurifier.git?a=blob;hb=HEAD;f=library/HTMLPurifier./Filter/YouTube.php (и когда вы это сделаете, обновите его до нового типа кода для встраивания).

person Ariel    schedule 02.10.2011
comment
Я бы исправил это просто на UTF. Любой из семейства UTF подходит, хотя да, UTF-8 является наиболее распространенным (по уважительным причинам) для кодирования веб-страниц. - person Matthew Scharley; 02.10.2011
comment
@MatthewScharley Я бы не стал. UTF-16 имеет ужасную спецификацию, которая вызывает бесконечные проблемы (попробуйте написать файл конфигурации в UTF-16 или сценарий оболочки). UTF-32 не дает никакого значения для пространства, которое он тратит впустую, поскольку объединение меток (и составных символов) означает, что одно 32-битное значение не обязательно означает один глиф, поэтому вы не получаете простоты при его использовании. - person Ariel; 02.10.2011
comment
У меня уже есть эти файлы в моих папках, поэтому я так запутался, что они не работают (они уже включены в папку фильтра в папке библиотеки, которую я скачал). - person John; 02.10.2011
comment
Кажется, что встраивание работает только для Youtube, но я просто хочу, чтобы пользователь набрал класс span, который я представил выше (так как он должен работать) - person John; 02.10.2011
comment
Попробуйте поместить какой-нибудь код отладки в этот файл - просто сделайте так, чтобы он отображал что-то при включении (т.е. поместите эхо не в функцию). Затем добавьте эхо при запуске функций. - person Ariel; 02.10.2011
comment
@MatthewScharley Основная проблема с другими кодировками UTF заключается в том, что они очень плохо поддерживаются по сравнению с UTF-8. - person Karolis; 02.10.2011
comment
Я пытался изменить файл фильтра Youtube, безрезультатно. Нет ли обновленной версии этого файла? - person John; 02.10.2011