2011-10-02 72 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