Anwenden von Filtern auf den content (), um Inhalte zu trennen, wenn `add_shortcode ()` gefunden wird?

Ich weiß nicht einmal, ob das möglich ist, mit array_map oder str_replace , aber die Idee ist die folgende:

Diese function clean_custom_content den Inhalt ab und bevor es gesendet wird, clean_custom_content , dort kann ich nicht herausfinden, wie es weitergehen soll. Also nehmen wir an, dass wir den ganzen Inhalt haben, dieser Inhalt wird in einen section eingepackt, aber jedes Mal gibt es ein short code [] Dies muss in der Nähe sein und wenn der Inhalt des functionscodes ausgegeben wurde. Sie öffnen einen neuen section und fahren mit dem Inhalt dieser Seite fort.

Sinn ergeben? irgendwelche Ideen oder Hilfe wird es großartig sein .. danke

 function get_custom_content( $more_link_text = null, $strip_teaser = false) { $content = get_the_content( $more_link_text, $strip_teaser ); $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content ); $final_cotent = clean_custom_content($content); echo $final_cotent; } 

clean_custom_content () ::

 function clean_custom_content($content){ if(do_clean_shorcode('someshorty')){ $content = "
".$content.'
'; return $content; } return null; }

Solutions Collecting From Web of "Anwenden von Filtern auf den content (), um Inhalte zu trennen, wenn `add_shortcode ()` gefunden wird?"

Dies ist für generische Fälle sehr schwierig, da Shortcodes verschachtelt werden können, sich selbst abschließen oder umschließen können und so weiter.

Wenn Sie dies auf begrenzten und festen Satz von spezifischen Shortcodes tun müssen, wäre das einfacher. Ich würde die Registrierung ihrer Shortcode-Handler aufheben und benutzerdefinierte Handler registrieren, die die originalen aufrufen und das notwendige Markup hinzufügen.