SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Thema geschlossen
 
Themen-Optionen Ansicht
  #1  
Alt 19.08.2010, 16:27:07
Benutzerbild von pennywise81
pennywise81 pennywise81 ist offline
Anfänger
 
Registriert seit: Jan 2003
Ort: Bochum
Alter: 42
Beiträge: 75
pennywise81 eine Nachricht über ICQ schicken pennywise81 eine Nachricht über MSN schicken pennywise81 eine Nachricht über Skype™ schicken
[RegEx] Whitespace entfernen

Hallo zusammen,

ich habe einen String
PHP-Code:
$text '
<html>
  <head>                 </head>
  <!--
    entfernen
  -->
  <!--[if IE]>
    nicht entfernen
  <![endif]-->
  <body>
    Das ist nur ein Test<br />
    <br />
    <pre>Der Whitespace

    hier

    darf nicht entfernt werden.
    </pre>
    <pre class="test">    Test </pre>
  </body>
</html>
'

aus dem ich sämtlichen Whitespace, also Umbrüche und alle Leerzeichen zwischen > und <, sowie HTML-Kommentare entfernen möchte; wichtig dabei ist jedoch, dass alles zwischen <pre>-Tags unberücksichtigt bleibt.

Meine bisherigen Ansätze mittels preg_replace waren wenig erfolg-versprechend: ich weiß zwar, wie ich mittels RegEx die <pre>-Tags identifiziere. Jedoch hilft mir das nicht weiter, da ich es nicht hinbekomme, diese Tags unberücksichtigt zu lassen.
PHP-Code:
$text2 preg_replace(
  array(
    
'#(<pre.*>.*</pre>)#Us'
  
),
  array(
    
'$1'
  
),
  
$text
); 
Oben genanntes identifiziert die <pre>s richtig, nun muss ich da nur noch den Whitespace rausbekommen.

Nach einiger Recherche bekomme ich zwar Ansätze (negative Lookahead), jedoch schaffe ich es nicht, diese richtig einzusetzen. Negative Lookaheads müssen m.W. immer eine feste Länge haben, ich kann also z.B. sowas /(!?<\<pre.*>)/ nicht nutzen.

Vielleicht hat schon mal jemand etwas ähnliches gemacht oder hat eine Idee dazu.

Hier noch einmal die Anforderungen:
  • Jegliche Umbrüche außerhalb von <pre>-Tags sollen entfernt werden
  • Jedes Leerzeichen (außerhalb von <pre>-Tags) nach > bis zum nächsten nicht-Leerzeichen soll entfernt werden
  • <pre>-Tags können Attribute enthalten (z.B. class="javascript")
  • Aufeinanderfolgende Leerzeichen (außerhalb von <pre>-Tags) sollen durch ein Leerzeichen ersetzt werden
  • HTML-Kommentare, die keine Conditional Comments sind, sollen entfernt werden

Vielen Dank und beste Grüße,
Lars
__________________
"Schwester, was ist denn das für ein merkwürdiges Kabel?" - "Um Gottes Willen Herr Doktor, das ist die Arterie!"
  #2  
Alt 20.08.2010, 09:33:56
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: [RegEx] Whitespace entfernen

die forengemeinde reagiert bei crosspostings sehr empfindlich... warum gibst du nicht den hinweis, dass das thema hier bereits behandelt wurde und du (lediglich) weitere anregungen suchst?

darüber hinaus wurden dir ja schon die richtigen ansätze gezeigt; was erwartest du eigentlich?

cx
  #3  
Alt 20.08.2010, 13:09:18
Benutzerbild von pennywise81
pennywise81 pennywise81 ist offline
Anfänger
 
Registriert seit: Jan 2003
Ort: Bochum
Alter: 42
Beiträge: 75
pennywise81 eine Nachricht über ICQ schicken pennywise81 eine Nachricht über MSN schicken pennywise81 eine Nachricht über Skype™ schicken
AW: [RegEx] Whitespace entfernen

Zitat:
Zitat von cortex Beitrag anzeigen
die forengemeinde reagiert bei crosspostings sehr empfindlich... warum gibst du nicht den hinweis, dass das thema hier bereits behandelt wurde und du (lediglich) weitere anregungen suchst?
Ich habe es absichtlich nicht geschrieben weil ich keine Werbung für andere Foren machen und vielleicht einfach auf einen größeren Wissenskreis zugreifen möchte. Davon abgesehen verstehe ich nicht, warum das Thema nach "Grundlagen" verschoben wurde. Aber dafür wirst du sicherlich deine Gründe haben.

Erwarten tue ich gar nichts. Wenn ich in einem Forum eine Frage stelle erhoffe ich mir lediglich andere Denkansätze oder Hilfe, als die, die ich bereits selbst kenne bzw. an anderer Stelle erhalten habe. Deswegen habe ich auch eingangs in meinem Posting erwähnt, dass ich bereits Hinweise darauf habe, dass es mit Lookarounds gehen kann/soll.

Aber bitte, das Thema wird auch an folgender Stelle besprochen: Posting bei php.de.

Deine Mühen in allen Ehren, aber ehrlich gesagt halte ich deinen Beitrag für überflüssig und unkonstruktiv.

Grüße,
Lars
__________________
"Schwester, was ist denn das für ein merkwürdiges Kabel?" - "Um Gottes Willen Herr Doktor, das ist die Arterie!"
  #4  
Alt 20.08.2010, 17:47:04
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: [RegEx] Whitespace entfernen

Ob du die Gründe kapierst oder ignorierst, ist mir wurscht!
Aber ich helfe keinem Crossposter!

Zitat:
Deine Mühen in allen Ehren, aber ehrlich gesagt halte ich deinen Beitrag für überflüssig und unkonstruktiv.
Wenn dich ein Moderator zurechtweist, dann solltest du die Kröte schlucken und nicht Bockig werden. Und überhaupt, wenn ein Moderator die Forenlinie durchsetzt ist das evtl nicht in deinem Interesse, aber im Interesse der anderen Forenmitglieder. Damit ist es weder überflüssig, noch unkonstruktiv. Ganz im Gegenteil.
  #5  
Alt 21.08.2010, 01:37:24
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: [RegEx] Whitespace entfernen

Zitat:
Zitat von pennywise81 Beitrag anzeigen
Ich habe es absichtlich nicht geschrieben weil ich keine Werbung für andere Foren machen [...]
wie edel...

Zitat:
Zitat von pennywise81 Beitrag anzeigen
Davon abgesehen verstehe ich nicht, warum das Thema nach "Grundlagen" verschoben wurde.
dazu bitte die untertitel der unterforen beachten:

Zitat:
Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken
probleme und bedenken... nicht: ich weiss nicht weiter - hat mal jemand 'ne lösung.

btw: eitelkeit ist eine der todsünden...

Zitat:
Zitat von pennywise81 Beitrag anzeigen
Deine Mühen in allen Ehren, aber ehrlich gesagt halte ich deinen Beitrag für überflüssig und unkonstruktiv.
vielen dank für dein statement. solltest du deinen horizont (dennoch) erweitern wollen: Moderation (Gruppenarbeit).

denke, die fachliche diskussion hat sich damit überholt; andernfalls pm an mich.

[mod: closed]

cx
Thema geschlossen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zeichen (eckige Klammer "[]") entfernen aPENDIx PHP Grundlagen 2 10.04.2008 22:16:13
Zeile aus mysql DB entfernen ro MySQLi/PDO/(MySQL) 13 28.01.2008 10:55:25
HTML Tags entfernen, aber wie? Roach PHP Grundlagen 11 07.10.2006 20:21:51
Variable Prüfen überflüssige Zeichen entfernen Chris007 PHP für Fortgeschrittene und Experten 1 12.03.2003 10:27:02
Meta Tags entfernen or-k PHP für Fortgeschrittene und Experten 6 26.08.2002 12:28:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:22:00 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt