futzinator
06-06-2005, 13:04
Hi!
Ich probiere jetzt schon lange herum aber ich bekomme es einach nicht her.
Vielleicht kann mir einer von euch schnell eine Lösung zu folgendem sagen:
Ich habe einen String in dem befinden sich solche tags: <!---NEWS-->Text Text Text<---/NEWS-->, anstatt NEWS kann auch TERMINE oder sonst was vorkommen. Ich möcht nun, dass sämtliche Tags mit dem ganzen Inhalt aus dem String entfernen.
Wäre für jede Hilfe dankbar.
Wenn du schon so lange probiert hast, dann kannst du uns sicher einen deiner ansätze zeigen und beschreiben.
futzinator
06-06-2005, 13:08
hmmm, ja viel gibts nicht zu zeigen, habe immer wieder mal was rausgelöscht und ausprobiert.
preg_replace("#<!---*[A-Z]-->(.*)<!---\/*[A-Z]-->#Uis", "", $sText);
deine Erklärung zu diesem code?
futzinator
06-06-2005, 13:18
Dass ist ja das Problem ich glaub dass ich schon falsch unterwegs bin, ich möchte einfach wie schon beschrieben sämtliche Tags die mit <!---NEWS--> beginnen und dann mit <----/NEWS--> aufhören samt dem text in den Tags aus dem String entfernen. Ich kenne mich nicht besonders aus mit dem regex-Zeug, drum wäre ich für eine Hilfe dankbar.
aber dass wir dir den fertigen code hier nicht einfach so hinknallen (auch wenn er in ähnlicher form schon in div. Thread und Tuts auf dieser Seite vorhanden ist), kannst du wohl verstehen, oder? Vorallem wenn ich mir vor Augen führe, dass du meine Hilfe nachher für teuer geld verkaufst, ohne mir auch nur etwas zu deinem code sagen zu können...
futzinator
06-06-2005, 13:27
ich suche nach einem Anfang mit <!--- wo unendlich Zeichen von A-Z vorkommen dann mit --> endet dann undendlich Text dann wieder mit <!---/ anfängt wieder ein wort mit A-Z Zeichen und dann mit --> endet und das Gefundene soll mit "" ersetzt werden. So hätte ich mir es mal gedacht.
Ist auch gar nicht so falsch. Und was liefert dir dein Pattern?
(preg_match hilft!)
futzinator
06-06-2005, 13:35
das ist das Problem, ein leeres Array, also muss mit dem Ausdruck was falsch sein, oder?
könnte man so deuten ;)
http://www.php-resource.de/tutorials/read/10/1/
futzinator
06-06-2005, 14:00
hmm kannst du mir sagen was daran falsch ist:
preg_match("/^<!---([A-Z]+)-->(.*)<!---(\/[A-Z]+)-->/", $sText, $sTest)
wenn ich das mit print_r($sTest); ausgebe bekomme ich ein leeres Array, obwohl sich das gesuchte in $sText befindet.
nimm mal das ^ raus ... oder weißt du, was es bedeutet?
benutze außerdem andere delimiter, dann sparst du dir künftige escape-orgien.
ach ja: modifier s könnte nützlich sein, und U wirst du sicher auch brauchen?