Ich benutze NicEdit, um RTF-Daten in mein CMS zu schreiben. Das Problem ist, dass es Strings wie folgt generiert:
%Vor%da dies für eine Nachrichtenseite ist, bevorzuge ich den endgültigen html wie folgt:
%Vor%Also meine derzeitige Lösung ist dies:
<br />
am Anfang / Ende der Zeichenfolge <br/>
oder mehr haben mit </p><p>
(ein einzelnes <br />
ist erlaubt). <p>
am Anfang und </p>
am Ende Ich habe bisher nur die Schritte 1 und 3. kann mir jemand bei Schritt 2 helfen?
%Vor%Danke!
ps: Es wäre sogar besser, bestimmte Situationen zu vermeiden. Beispiel: " hello<br /><br /><br /><br /><br />too much space
" - diese 5 Bruchkanten sollten auch in nur eine " </p><p>
"
endgültige Lösung (Besonderer Dank an kemp!)
%Vor% Dies funktioniert auch dann, wenn sich die beiden <br>
s in verschiedenen Zeilen befinden (d. h. es gibt eine neue Zeile oder Leerzeichen dazwischen):
Dieser Ansatz löst Ihr Problem:
<br>
oder <br />
: Sie erhalten ein Array von Strings. <p>
. <br>
. </p><p>
. </p>
Ein anderer Ansatz: Reguläre Ausdrücke verwenden
%Vor% Entspricht 2 oder mehr <br>
. (Siehe php.net auf preg_split , um dies zu tun.)
Nun, die gleiche Vorgehensweise in Schritt 2 und 3: Schleife das Array zweimal, einmal von Anfang an (0..Länge) und einmal vom Ende nach unten (Länge 1..0). Wenn der Eintrag leer ist, entfernen Sie ihn aus dem Array. Wenn der Eintrag nicht leer ist, beenden Sie die Schleife.
Um dies zu tun:
%Vor%