2011-10-02 70 views
0
<?php 

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

    $config = HTMLPurifier_Config::createDefault(); 

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

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

(^这是我唯一的HTMLPurifier设置)HTMLPurifier的Youtube

应该<span class="youtube-embed">nto6EvPFO0Q</span>在到YouTube视频embbeded使这个。但它不起作用。 (什么也没有发生根本)

但加载像这样工作的:

<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> 

(这是一个安全问题^?)

+0

当你说:“该文件是ANSI格式”,你的意思是CP-1252? – Ariel

+0

我更改为UTF-8。这只是YouTube的问题。我将编辑我的问题,以便更容易理解。 – John

+0

好的,更新了问题。 – John

回答

2

使用UTF-8。所有其他字符集都已过时,除非您没有其他选择的传统应用程序,否则不应使用该字符集。

编辑(问题的更新后):因为它适用于智能手机和闪存版没有相反

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

首先,你应该使用这个。

其次,根据他们的文档,您需要下载并包含来自http://repo.or.cz/w/htmlpurifier.git?a=blob;hb=HEAD;f=library/HTMLPurifier/Filter/YouTube.php的YouTube.php(并且当您这样做时,将其更新为新类型的嵌入代码)。

+0

我会改正这只是'UTF'。任何UTF家族都没有问题,但是,UTF-8是网页编码中最常见的(有充分理由)。 –

+0

@MatthewScharley我不会。 UTF-16有一个可怕的BOM,它不会造成任何麻烦(尝试用UTF-16编写配置文件 - 或shell脚本)。由于组合标记(和组合字符)意味着单个32位值并不一定意味着单个字形,因此UTF-32不会为其浪费的空间赋值,所以通过使用它不会获得简单性。 – Ariel

+0

我已经在我的文件夹中有这些文件,这就是为什么我很困惑,它不工作(它已经包含在我下载的库文件夹中的过滤器文件夹中)。 – John