Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Leere HTML-tags entfernen

Ich möchte gern aus einem String alle Elemente entfernen die <p></p> mit beliebig vielen Leerzeichen dazwischen haben. Umgekehrt heißt es, sobald irgendein Textinhalt zwischen <p></p> ist, soll es nicht gelöscht werden. Hat jemand einen Tipp dafür?

Hier gehts zum Orginal Eintrag "Leere HTML-tags entfernen" im Forum

Antworten

Ich habe dir grad schon im Quakenet auf #php.de geantwortet, lass doch das Crossposting oder poste wenigstens die Vorschläge, die dir dort unterbreitet wurden.


2.

Bin aus dem Quakenet raus, weil es keine Lösung gab. Ein Vorschlag war:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Ansich ne gute Idee, jedoch lassen sich da nicht beliebig viele Leerzeichen einsetzen.


3.

Zitat:
<breaddes> hat mir jemand ein tipp, wie ich leere html-tags löschen kann mit regex?
<Blar> leere?
<breaddes> ja leere ohne inhalt <p></p>
<Blar> str_replace('<p></p>', '', $string);
<breaddes> Blar: gute idee, jedoch kann es sein, dass zwischen <p></p> doch noch ein leerzeichen ist
* ^rs has joined #php.de
<subj> '~<(\\w+)[^<>]*?[^/]>\s*</\\1>~i'
<McClane> sowas in etwa: preg_replace('#<(.*)>\s*</$1>#Uis', '', $HTMLcode);
<McClane> ach \\1 war es?!
Was davon hast du ausprobiert?


4.

eben das von Blar:
Code:                   In Zwischenablage kopieren (nur IE)
2">

das von dir hatte ich auch probiert, jedoch hat sich dadurch auch nichts verändert:
Code:                   In Zwischenablage kopieren (nur IE)
3">




5.

Ein bisschen plump, müsste aber auch so gehen:
Code:                   In Zwischenablage kopieren (nur IE)
4">

..
sry (nur die Hälfte gelesen..), moment..


6.

Ansatz:
Mit explode() könnte man den String in einzelne Strings (z.B. nach "</p>") zerlegen, dann in einer Schleife überprüfen, ob der jeweilige String nach <p> und vor </p> Zeichen enthält, wenn ja - String-Teil bleibt, ansonsten - String-Teil entfernen und anschließend alle verbleibenden Teile mit implode wieder zusammensetzen..

..


7.

@breaddes:
Der Vollständigkeit halber:
Standard-Antwort:
Zitat aus den Forenregeln:
Zitat:
Crosspostings

Technisch gesehen sind in der verwendeten Software keine Crosspostings im wörtlichen Sinne möglich. Siehe Multiposts.

Multiposts


Hier sind zwei verschiedene Fälle zu unterscheiden. Multiposts innerhalb der Seite werden nicht toleriert. Hier wird jeder Beitrag bis auf den, in den das Posting thematisch am ehesten passt gelöscht. Im Wiederholungsfall wird ein Hinweis auf die Crossposting-Regelung des Forums hinterlassen und der Thread geschlossen.

Multiposts mit anderen Webforen als phpforum.de werden anders behandelt. Diese Threads werden mit einem Hinweis versehen und bei mehrmaligem Crossposten werden die Threads geschlossen.
Falls du dich fragst, ob das reine Schikane von uns ist, nein, hier der Grund:

Zitat:
Crossposting bedeutet, dass ein und dieselbe Frage in mehreren Foren oder Newsgroups gleichzeitig gestellt wird. Ein solches Verhalten wird von den meisten Helfern nicht toleriert, denn damit stellst Du einerseits die Kompetenz der Helfer jedes einzelnen Forums und Newsgroup in Frage und bewirkst zudem, dass ein zig-faches an Stunden aufgewendet wird, um nur ein einziges Problem zu lösen, denn überall werden sich die Helfer daran setzen, eine Lösung für Dich zu finden. Das ist ganz klar ein Missbrauch an dem kostenlosen und freiwilligen Support, der hier angeboten wird.
Wenn Deine Frage klar und deutlich gestellt wurde, dann wirst Du ganz bestimmt innerhalb kürzester Zeit eine Antwort erhalten. Sollte dies auch nach mehreren Tagen nicht der Fall sein, dann versuche bitte die Frage besser zu formulieren. Falls Du dennoch in einem zweiten Forum posten solltest, erwähne bitte, dass Du die Frage schon woanders gestellt hast, und dass Du es tust, weil keine Lösung gefunden werden konnte.
Siehe auch
http://www.phpforum.de/forum/phpforum2_Aktuelles__18987_1082551933.html
sowie
http://www.phpforum.de/forum/news.php?boardid=12


8.

Datei in Dreamweaver laden und "cleanup html" wählen.


9.

Hey Gary, danke für die Klarstellung. Mir ist das absolut bewusst!
Ich habe die Frage das erste Mal im irc gestellt. Ich weiß nicht, ob es als Posting gilt, wenn nach 10min keine geeignete Lösung bzw. Idee gefunden wurde. Nach zig Minuten kann ja keiner mehr was mit dem "Posting" anfangen, da der Chat weiterläuft!
Also habe ich das Quakenet verlassen um noch mal selbst auf ne Idee zu kommen. Nachdem dies aber nicht fruchtete habe ich es hier noch mal gepostet, dass ich ganz sicher glaube dass hier kompentente Leute vertreten sind. Ich werde mich ganz sicher davor hüten Massenposts in verschiedenen Foren reinzusetzen. Das phpforum ist eine zentrale Anlaufstelle für mich und alles was PHP betrifft.
Dass es schwierig ist eine Lösung auf meine genanntes Problem zu finden zeigt ja auch dieser Thread.


Zitat:
Gary postete
@breaddes:
Der Vollständigkeit halber:
Standard-Antwort:
Zitat aus den Forenregeln:
Zitat:
Crosspostings

Technisch gesehen sind in der verwendeten Software keine Crosspostings im wörtlichen Sinne möglich. Siehe Multiposts.

Multiposts


Hier sind zwei verschiedene Fälle zu unterscheiden. Multiposts innerhalb der Seite werden nicht toleriert. Hier wird jeder Beitrag bis auf den, in den das Posting thematisch am ehesten passt gelöscht. Im Wiederholungsfall wird ein Hinweis auf die Crossposting-Regelung des Forums hinterlassen und der Thread geschlossen.

Multiposts mit anderen Webforen als phpforum.de werden anders behandelt. Diese Threads werden mit einem Hinweis versehen und bei mehrmaligem Crossposten werden die Threads geschlossen.
Falls du dich fragst, ob das reine Schikane von uns ist, nein, hier der Grund:

Zitat:
Crossposting bedeutet, dass ein und dieselbe Frage in mehreren Foren oder Newsgroups gleichzeitig gestellt wird. Ein solches Verhalten wird von den meisten Helfern nicht toleriert, denn damit stellst Du einerseits die Kompetenz der Helfer jedes einzelnen Forums und Newsgroup in Frage und bewirkst zudem, dass ein zig-faches an Stunden aufgewendet wird, um nur ein einziges Problem zu lösen, denn überall werden sich die Helfer daran setzen, eine Lösung für Dich zu finden. Das ist ganz klar ein Missbrauch an dem kostenlosen und freiwilligen Support, der hier angeboten wird.
Wenn Deine Frage klar und deutlich gestellt wurde, dann wirst Du ganz bestimmt innerhalb kürzester Zeit eine Antwort erhalten. Sollte dies auch nach mehreren Tagen nicht der Fall sein, dann versuche bitte die Frage besser zu formulieren. Falls Du dennoch in einem zweiten Forum posten solltest, erwähne bitte, dass Du die Frage schon woanders gestellt hast, und dass Du es tust, weil keine Lösung gefunden werden konnte.
Siehe auch
http://www.phpforum.de/forum/phpforum2_Aktuelles__18987_1082551933.html
sowie
http://www.phpforum.de/forum/news.php?boardid=12



Hier gehts zum Orginal Eintrag "Leere HTML-tags entfernen" im Forum
 
phpforum.de | Impressum | Handy Bundles