2013-12-20 83 views
0

我正在使用multiEdit插件在模板上創建一些內容區域。使用multiedit插件刪除P標籤

其中一個區域是一些照片,將要使用jQuery循環來旋轉圖像。

但是,像往常一樣,Wordpress(或編輯器)將所有圖像包裝在<p>標籤中。

我用過的功能從CSS-技巧劈死從內容中刪除<p>標籤:

function filter_ptags_on_images($content){ 
return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); 
} 

add_filter('the_content', 'filter_ptags_on_images'); 

但是,從我所知道的,它僅查找the_content,不爲別的。

Multiedit使用:<?php multieditDisplay('name_of_region'); ?>在模板中顯示內容塊。

所以,我試圖函數改成這樣:

function filter_ptags_on_images($content){ 
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); 
} 
add_filter('multieditDisplay', 'filter_ptags_on_images'); 

但沒有這樣的運氣。

所以,我不太確定我是否錯過了某些東西,或者只是以錯誤的方式去做。

回答

0

不是把multiEdit領域在模板中像這樣的例子

<?php multieditDisplay('Top'); ?> 

您可以防止自動打印通過傳遞true作爲第二個參數是這樣的

<?php echo multieditDisplay('Top', true); ?> 

所以,如果你想從輸出去除所有標籤,然後再嘗試這種

<?php echo strip_tags(multieditDisplay('Top', true)); ?> 

如果你想包括某些標籤然後提供的標籤列表,包括它作爲參數傳遞給用strip_tags這樣

<?php echo strip_tags(multieditDisplay('Top', true), '<p><a>'); ?>