CRUSO Posted October 12, 2021 Share Posted October 12, 2021 I use a function that add ads after X number of paragraphs. I tried to modify it to ignore paragraphs that have <span> inside them but it doesnt work and i get an error. add_filter( 'the_content', 'add_ads_to_content' ); function add_ads_to_content( $content ) { $ads = array( 2 => 'ad code 1', // paragraph_id => ad_code 4 => 'ad code 2', // paragraph_id => ad_code 6 => 'ad code 3' // paragraph_id => ad_code ); if ( is_single() && ! is_admin() ) { foreach ($ads as $paragraph_id => $ad_code) { $content = prefix_insert_after_paragraph( $ad_code, $paragraph_id, $content ); } } return $content; } function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) { $closing_p = '</p>'; $paragraphs = explode( $closing_p, $content ); foreach ($paragraphs as $index => $paragraph) { if( !preg_match( '~<(?:span)[ >]~', $paragraph )) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $insertion; } } } return implode( '', $paragraphs ); } Link to comment https://forums.phpfreaks.com/topic/313961-ignore-span-inside-paragraphs/ Share on other sites More sharing options...
Recommended Posts