Intereting Posts

Удаление тегов <p> вокруг тегов <div>

Я хотел бы остановить WP от обтекания тегов <p> вокруг тегов <div> в редакторе TineMCE …

Вот что у меня есть:

 function filter_ptags_on_images($content) { return preg_replace('/<p>([^>]*)<\/p>/i', '$1', $content); } add_filter('the_content', 'filter_ptags_on_images'); 

Это удаляет все теги <p> вокруг текста, но ничего не обернуто в <p><div>text</div></p> .

Я также хотел бы знать решение, если у меня есть вложенные теги <div> такие как <p><div><div>text</div></div></p> .

Solutions Collecting From Web of "Удаление тегов <p> вокруг тегов <div>"

Жадный и развратный модификатор :

preg_replace( '/<p>(.+)<\/p>/Uuis', '$1', $content );

Протестировано с помощью этого скрипта:

 <?php $c = array(); $c[] = '<p>text</p>'; $c[] = '<p><div>text</div></p>'; $c[] = '<p><div><div>text</div></div></p>'; foreach ( $c as $content ) { $e = preg_replace( '/<p>(.+)<\/p>/Uuis', '$1', $content ); var_dump( $e ); } 

Также попробуйте remove_filter( 'the_content', 'wpautop' );