Entfernen Sie alle Zeilenumbrüche von der HTML-Quelle
Gut ich weiß, Verschleierung ist eine schlechte Idee. Aber ich möchte alle meine html code zu kommen, in einer einzigen langen Zeile. Alle html-tags generiert werden, werden über PHP, so dass ich denke, das ist möglich. Ich wusste ersetzen \n\r
vom regulären Ausdruck, aber keine Ahnung haben, wie Sie dies tun. Im Fall ich bin unklar, hier ist ein Beispiel
$output = '<p>
<div class="title">Hello</div>
</p>';
echo $output;
Sein Blick in der source-viewer als <p><div class="title">Hello</div></p>
InformationsquelleAutor der Frage mrN | 2011-03-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht?
InformationsquelleAutor der Antwort seriousdev
Können Sie versuchen, diese vielleicht.
Sollte dies, wenn ich Durcheinander regex, catch-all-Ausgang, und dann ersetzen Sie alle neue-Zeile-Zeichen sowie alle whitespace-Zeichen am Ende und Anfang der Zeilen.
Wenn Sie bereits alle Ausgaben gesammelt in einer Variablen, Sie können natürlich nur die Letzte Zeile direkt überspringen und die Ausgabe-Pufferung Sachen 🙂
InformationsquelleAutor der Antwort Svish
Arbeitete für mich:
InformationsquelleAutor der Antwort RayLoveless
Können Sie tun :
Diese Weise
$output
nicht enthalten, jede Zeile springen.Diese sollten auch funktionieren :
InformationsquelleAutor der Antwort krtek
InformationsquelleAutor der Antwort ling
Dies ist bereits gut beantwortet, aber Sie können in der Lage sein, mehr zu tun als nur trimmen Leerzeichen am Ende jeder Zeile:
<script></script>
- tags und das gleiche tun wie Schritt #1>_<
mit><
(_ = space)_>
<_
und</_
mit>
<
und</
(_ = space)Diesem Verfahren können potenziell kompakt die gesamte HTML-Datei. Dieser nutzt die Tatsache, dass mehrere Leerzeichen text in HTML-tags sind intepreted als einen einzigen Raum.
InformationsquelleAutor der Antwort Stephen Chung
Dies ist eine (soweit ich getestet habe) funktioniert die Umsetzung des Stephen Chung des Herstellers. Ich bin nicht ganz überzeugt von der Nummer fünf, aber aufgenommen haben Sie es trotzdem.
Setzen Sie die Dinge, die Sie schützen möchten, in die protected_parts array. Tun Sie es in Ordnung, dass Sie wollen, dass Sie geschützt sind. Wenn die Start-und End-bits sind unterschiedlich (wie Sie es in HTML-tags), trennen Sie diese durch ein Komma.
Außerdem habe ich keine Ahnung, wenn dies ist die optimierte Art und Weise, dies zu tun, aber es funktioniert für mich und scheint halbwegs schnell. Fühlen Sie sich frei, um zu verbessern, etc. (Lassen Sie mich wissen, wenn Sie es auch tun!)
InformationsquelleAutor der Antwort James Billingham
Dies ist eine verbesserte Funktion der oben genannten. Es fügt text Bereich Schutz und auch alles, was ein tag bleibt unberührt.
Ich auch entfernt
strlen
in der Schleife (die statische).Dies kann schneller laufen als ein one-pass-filter, um zu überprüfen, für die geschützten Teile. Für so ein kleines
protected_parts
array, es wird effizienter sein, als die Schleife durch die$str
vier mal.Auch dadurch nicht behoben wird: class = ""(das Leerzeichen zwischen " = " und "), wie seine Sachen in die tags.
InformationsquelleAutor der Antwort piranxa
Können Sie nicht
<div>
innen<p>
- es ist nicht spec-gültig.Wenn Sie nicht brauchen, um es zu speichern in einer Variablen können Sie verwenden:
InformationsquelleAutor der Antwort happy_marmoset