Trimmen bricht Markup auf

Sagen wir, dass ich diesen Text in einem Feld habe:

The first expedition to the red planet has ended in disaster!

Your ship has crashed in the surface and all your equipment is lost. You managed to descent to safety with a single spacesuit and a limited amount of oxygen. Your only hope… to reach the rescue module before your air supply runs out!

With every step you are either closer to salvation or to your grave, be careful! Try finding the scattered remnants of your shipwreck across the dry landscape to help you in your journey; you will need the very precious o2 capsules and spare parts to upgrade your suit.

Hurry up, every second counts!

Wenn ich das mache, zeigt der Text ohne Probleme:

 $text = types_render_field('game-description', array()); echo $text; 

Aber wenn ich versuche, automatisch einen Ausschnitt zu erstellen, so:

 $text = types_render_field('game-description', array()); echo wp_trim_words($text, 65); 

Ich erkenne, dass die

alle weg sind und den Text so aussehen lassen:

Die erste Expedition auf den Roten Planeten endete in einer Katastrophe! Ihr Schiff ist in der Oberfläche abgestürzt und Ihre gesamte Ausrüstung ist verloren gegangen. Mit einem einzigen Raumanzug und einer begrenzten Menge an Sauerstoff gelangst du in Sicherheit. Ihre einzige Hoffnung … das Rettungsmodul zu erreichen, bevor Ihre Luftversorgung ausgeht! Mit jedem Schritt bist du der Erlösung näher oder …

Wenn ich es lieber so hätte:

Die erste Expedition auf den Roten Planeten endete in einer Katastrophe!

Ihr Schiff ist in der Oberfläche abgestürzt und Ihre gesamte Ausrüstung ist verloren gegangen. Mit einem einzigen Raumanzug und einer begrenzten Menge an Sauerstoff gelangst du in Sicherheit. Ihre einzige Hoffnung … das Rettungsmodul zu erreichen, bevor Ihre Luftversorgung ausgeht!

Mit jedem Schritt bist du der Erlösung näher oder …

Ich weiß, dass Sie Zollauszüge in jedem Beitrag schreiben können, aber die Idee war, es automatisch zu machen und diese Aufgabe auf dem Betreuer des Webs zu entladen.

Kann ich etwas tun, um das zu beheben?

UPDATE: Ich habe vergessen zu sagen, dass ich die Erweiterungstypen verwende, types_render_field kommt die function types_render_field . Grundsätzlich um die Felder der benutzerdefinierten Posts zu erhalten

Solutions Collecting From Web of "Trimmen bricht Markup auf"

Wie bereits erwähnt, ist types_render_field() keine WordPress-function, Sie sollten es also irgendwo deklariert haben.

HTML-Tags werden vor dem Zurückgeben des wp_trim_excerpt , unabhängig davon, ob Sie wp_trim_excerpt oder wp_trim_words . Wenn Sie die HTML-Formatierung im Auszug beibehalten müssen, müssen Sie eine eigene Auszugfunktion erstellen. Um dies zu tun, müssen Sie zunächst wp_trim_excerpt entfernen und dann Ihre eigene function hinzufügen.

Hier ist ein benutzerdefinierter Auszug, der vor einer Weile geschrieben hat. Es wird in Template-Dateien als normal bezeichnet, was the_excerpt() . Dieser Auszug enthält alle HTML-Formatierungen. Es bricht auch nur Text nach , ; ? . , ; ? . oder ! Der Text ” Read more in einem neuen Absatz angezeigt. Wenn Sie ihn jedoch neben dem letzten Wort benötigen, können Sie einfach // aus dem Text entfernen

 //$pos = strrpos($pietergoosen_excerpt, ' 

Hier ist mein Auszug

 if ( ! function_exists( 'pietergoosen_custom_wp_trim_excerpt' ) ) : function pietergoosen_custom_wp_trim_excerpt($pietergoosen_excerpt) { global $post; $raw_excerpt = $pietergoosen_excerpt; if ( '' == $pietergoosen_excerpt ) { $pietergoosen_excerpt = get_the_content(''); $pietergoosen_excerpt = strip_shortcodes( $pietergoosen_excerpt ); $pietergoosen_excerpt = apply_filters('the_content', $pietergoosen_excerpt); $pietergoosen_excerpt = str_replace(']]>', ']]>', $pietergoosen_excerpt); //Set the excerpt word count and only break after sentence is complete. $excerpt_word_count = 75; $excerpt_length = apply_filters('excerpt_length', $excerpt_word_count); $tokens = array(); $excerptOutput = ''; $count = 0; // Divide the string into tokens; HTML tags, or words, followed by any whitespace preg_match_all('/(< [^>]+>|[^<>\s]+)\s*/u', $pietergoosen_excerpt, $tokens); foreach ($tokens[0] as $token) { if ($count >= $excerpt_word_count && preg_match('/[\,\;\?\.\!]\s*$/uS', $token)) { // Limit reached, continue until , ; ? . or ! occur at the end $excerptOutput .= trim($token); break; } // Add words to complete sentence $count++; // Append what's left of the token $excerptOutput .= $token; } $pietergoosen_excerpt = trim(force_balance_tags($excerptOutput)); $excerpt_end = ' ' . ' » ' . sprintf(__( 'Read more about: %s  »', 'pietergoosen' ), get_the_title()) . ''; $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end); //$pos = strrpos($pietergoosen_excerpt, '