Und immer noch der Tiny MCE WordPress Editor
Mittlerweile verwende ich WordPress 2.6.2 und habe mit Elke schon einige Tests durch, das Problem der Zeilenumbrüche in diesem Editor in den Griff zu bekommen.
In der Version 1 stellte Elke ein Plugin zur Verfügung, welches so aussieht:
function eb_posts_speichern()
{
global $user_ID;
if (!current_user_can(‘edit_posts’))
return $_POST['post_content'];
$_POST['post_content'] = wp_richedit_pre($_POST['content']);
return $_POST['post_content'];
}
add_filter(‘the_content’, ‘eb_content_umbruch’);
function eb_content_umbruch($content)
{
$content = str_replace(“\n”,”<br />”, $content);
return $content;
}
Das auch hier im Blog von Clever Clogs eingesetzt wird und eben auch diesen Text hier modifiziert.
Probleme bei der Version 1
Eigentlich keine, bis auf die ordnungsgemäße Umsetzung von Tabellen. Da passiert dann Folgendes mit dem Quellcode:
<p>test texte abc xyz</p>
<br /><p><table border=”1″ cellspacing=”0″ cellpadding=”0″>
<br /><tbody>
<br /><tr>
<br /><td valign=”top”>
Dadurch rutscht die Tabelle um viele Zeilen nach unten, so dass der Leser nicht mehr mit einer Tabelle rechnet. Schaltet man das Plugin aus, sind Tabellen wieder iO eingebunden, dann felhen jedoch im restlichen Text wie gewohnt die Zeilenumbrüche und p-Tags. Ein Teufelskreis.
Die neue Version 2 sieht so aus
function eb_posts_speichern()
{
global $user_ID;
if (!current_user_can(‘edit_posts’))
return $_POST['post_content'];
$_POST['post_content'] = wp_richedit_pre($_POST['content']);
return $_POST['post_content'];
}
add_filter(’the_content’, ‘eb_content_umbruch’); function eb_content_umbruch($content) {
$pos1 = strpos($content, ‘<br />’);
$pos2 = strpos($content, ‘<p>’);
if ($pos1===false and $pos2===false) {
// Beitrag enthaelt bereits Umbrueche und wird nicht geaendert
} else {
$content = str_replace(“</h1>”.”\n”,”</h1>”, $content);
$content = str_replace(“</h2>”.”\n”,”</h2>”, $content);
$content = str_replace(“</h3>”.”\n”,”</h3>”, $content);
$content = str_replace(“</h4>”.”\n”,”</h4>”, $content);
$content = str_replace(“</h5>”.”\n”,”</h5>”, $content);
$content = str_replace(“</h6>”.”\n”,”</h6>”, $content);
$content =
str_replace(“</blockquote>”.”\n”,”</blockquote>”, $content);
$content = str_replace(“</div>”.”\n”,”</div>”,
$content);
$content = str_replace(“</ol>”.”\n”,”</ol>”, $content);
$content = str_replace(“</ul>”.”\n”,”</ul>”, $content);
$content = str_replace(“</li>”.”\n”,”</li>”, $content);
$content = str_replace(“\n”,”<br />”, $content);
}
return $content;
}
Probleme bei der Version 2
Bei dieser Version werden zwar keine Zeilenumbrüche innerhalb der Tabelle gesetzt, aber auch bei den anderen Texten fehlen die ersehnten p-Tags und br-Tags, was ja unser Ausgangsproblem war.
Anzustrebende Künftige Lösung
Wenn kein p oder br im Text ist, wird nach folgenden Regeln eines eingefügt:
Fließtext mit p und Zeilenumbrüche mit br versehen. Alle anderen, in folgende Tags (h1 – h6, table, div, b, strong, ol, li usw. ) eingebetteten Inhalte, werden nicht verändert.
Ähnliche Beitrãge
- WordPress 2.6 – Fehlerbehebung im Tiny MCE Editor bei den Tags p und br
- So berechnet sich der Google Pagerank
- Spalte guid in Tabelle wp_posts
- Bestraft Googles automatischer Filter ungeschickte Programmierung?
- WordPress Fehler im Editor TinyMCE bei Zeilenumbruch


