2016-10-30 82 views
1

我试图用这个代码片段包装帖子内容中的每个表标签周围div标签,但我不知道为什么它不工作:各地div标签裹表标签

function tekst_wrapper($content) { 
    return preg_replace_callback('~<table.*</table>~i', function($match) { 
    return '<div>' . $match[0] . '</div>'; 
    }, $content); 
} 

add_filter('the_content', 'tekst_wrapper'); 

回答

0

您应该在通配符(零个或多个空格)之后用“问号”和“i”标志后面的“s”标志来尝试。 第一次更改应该有助于您的正则表达式函数区分具有或不具有空格和属性的表标记的变体。 其次应包括在新行正则表达式搜索:

~<table.*?</table>~is 

和完整的代码将

function tekst_wrapper($content) { 
    return preg_replace_callback('~<table.*?</table>~is', function($match) { 
    return '<div>' . $match[0] . '</div>'; 
    }, $content); 
} 

add_filter('the_content', 'tekst_wrapper'); 
+0

非常感谢,niklaz。它像一个魅力。其实我已经在这里找到了代码形式:http://stackoverflow.com/questions/31304589/wrap-div-around-p-tag-using-php-wordpress我只是想知道为什么原始代码使用p标签,但没有'吨工作与表标签? –

+0

嗨,很高兴它有帮助。我认为这是有效的,因为可能所有的段落标签对都在相同的行集合“

...

”,并且不需要“s”标志。 – niklaz

+0

很多很多,谢谢 –