kleiner regulärer ausdruck funtzt nicht... WIESO!?!?!?!? ;)
Marco Weber
- php
Hallo!
ich probiere nun schon seit geschlagenen 12 stunden die regulären ausdrücke zum laufen zu kriegen... :(
ich gebe euch am besten mal den anfangszustand... so wie es war, als ich dachte es würde funktionieren... ich bin wirklich der verzweiflung nahe und weiss nimmer wo mir der kopf steht... :(
es würde mich total freuen, wenn mir jemand schnell helfen könnte, denn alleine, werde ich das wohl net schaffen... :(
ich nutze folgenden befehl:
1.
$output=eregi_replace("<((br(([:space:])([:alnum:])*)?)|(img(([:space:])([:alnum:])*)?))>", "<\2 />", $input);
der folgende ausdruck soll also nur sämtliche <br> und <img> tags mit einem kleinen / versehen, damit die ganze sache XML kompatibel ist... ;)
die sache funtzt nur für tags ohne attribute...
was mache ich flasch??
2.
$output=eregi_replace("<body(([:space:])([:alnum:])*)?(/)?>", "", $input);
der folgende ausdruck soll sämtliche <body> tags löschen...
die sache funtzt ebenfalls nur für tags ohne attribute...
was mache ich hier flasch??
3.
$ptagsopened=preg_match_all("(<p(([:space:])([:alnum:])*)?>)", strtolower($input), $arr);
der folgende ausdruck soll mir sagen wieviele p-tags da sind, aber leider auch hier wieder das problem, dass er tags mit attributen nicht mitzählt!!! :(
was mache ich hier flasch??
GENERELL GILT ZU SAGEN, DASS ALLE MEINE OBIGEN REGULÄREN NUR FÜR TAGS OHNE ATTRIBUTE FUNKTIONIEREN! :(
VIELEN VIELEN VIELEN DANK AN EUCH ALLE DIE MIR HELFEN, ODER SICH NUR DIE ZEIT NEHMEN, SICH WENIGSTENS DIESES POSTING DURCHZULESEN! :)
IHR HELFT MIR DAMIR WIRKLICH VIEL! :))
MFG Marco Weber
Hallo.
GENERELL GILT ZU SAGEN, DASS ALLE MEINE OBIGEN REGULÄREN NUR FÜR TAGS OHNE ATTRIBUTE FUNKTIONIEREN! :(
Hab jetzt zwar nicht genau im Kopf, was zu :alnum: gehört, ich dachte aber, dass das nur Buchstaben und Ziffern beinhaltet. Attribute haben i.d.R. aber auch Anführungszeichen dabei - und genau die fehlen Dir im Ausdruck.
Grüße aus Würzburg
JUlian
VIELEN DANK JULIAN! :)
du hast mir sehr geholfen... :)
manachmal sieht man wirklich den wald vor lauter bäumen nicht mehr! ;)
MFG Marco
Hallo!
ich gebe euch am besten mal den anfangszustand... so wie es war, als ich dachte es würde funktionieren... ich bin wirklich der verzweiflung nahe und weiss nimmer wo mir der kopf steht... :(
es würde mich total freuen, wenn mir jemand schnell helfen könnte, denn alleine, werde ich das wohl net schaffen... :(
ich nutze folgenden befehl:
1.
$output=eregi_replace("<((br(([:space:])([:alnum:])*)?)|(img(([:space:])([:alnum:])*)?))>", "<\2 />", $input);
der folgende ausdruck soll also nur sämtliche <br> und <img> tags mit einem kleinen / versehen, damit die ganze sache XML kompatibel ist... ;)
die sache funtzt nur für tags ohne attribute...
was mache ich flasch??
Zwischen Attributname und Attributwert steht =,
um den Attributwert stehen ' oder "
im Attributwert können so gut wie alle Zeichen stehen, bei src z.b. :/._
Insbesondere dürfen auch Entities verwendet werden, also sind &#; zu berücksichtigen.
Je nach Attribut und eingestellter Zeichenkodierung können auch Umlaute vorkommen - ich weiß nicht, ob [:alnum:] auch äöü oder gar é und Konsorten enthält.
Deine Ausdrücke erlauben nur whitespace, Ziffern und Buchstaben.
Generell ist es sehr schwierig, HTML und ähnliche Sprache mit regulären Ausdrücken zu erfassen.
$output=eregi_replace("<body(([:space:])([:alnum:])*)?(/)?>", "", $input);
der folgende ausdruck soll sämtliche <body> tags löschen...
die sache funtzt ebenfalls nur für tags ohne attribute...
was mache ich hier flasch??
Siehe oben.
$ptagsopened=preg_match_all("(<p(([:space:])([:alnum:])*)?>)", strtolower($input), $arr);
der folgende ausdruck soll mir sagen wieviele p-tags da sind, aber leider auch hier wieder das problem, dass er tags mit attributen nicht mitzählt!!! :(
was mache ich hier flasch??
Siehe oben.
GENERELL GILT ZU SAGEN, DASS ALLE MEINE OBIGEN REGULÄREN NUR FÜR TAGS OHNE ATTRIBUTE FUNKTIONIEREN! :(
SCHREI HIER NICHT SO RUM!
Daß bei allen dreien attributierte tags nicht erfaßt werden, liegt daran, daß Du systematisch den gleichen Fehler gemacht hast.
VIELEN VIELEN VIELEN DANK AN EUCH ALLE DIE MIR HELFEN, ODER SICH NUR DIE ZEIT NEHMEN, SICH WENIGSTENS DIESES POSTING DURCHZULESEN! :)
IHR HELFT MIR DAMIR WIRKLICH VIEL! :))
Was soll die Schreierei?
Andreas
Hallo,
ZUERST MA DANKE FÜR DIE HILFE! :)
ICH BIN DIR WIRKLICH SEHR DANKBAR! :)
SCHREI HIER NICHT SO RUM!
bist du falsch aufgestanden oder was?!?!?!?!?!?
wie kommst du denn darauf, dass ich schreie!?!?!?!?
(jetzt schreie ich!!!!!!!!!!!!!)
Was soll die Schreierei?
sonsts geht's aber noch gut!?!?!?
du wiederholst dich...
möchte gerne ma wissen wie du auf solche schnapsideen kommst...
NIMM'S MIR NICH BÖS, ich bin dir wirklich SEHR DANKBAR FÜR DEINE HILFE, aber du solltest wirklich ma zu einem psychologen gehen oder so, wenn du dich gleich von jedem angegriffen fühlst... ;)
UM WEITERE MISSVERSTÄNDNISSE ZU VERMEIDEN: IN DIESEM BEITRAG WURDE NUR IN DEN OBERSTEN 3 ZEILEN VON MIR GESCHRIEHEN!
ich entschuldige mich auch für die obige direktheit, aber du kannst doch leuten NICHT EINFACH IRGENDWELCHEN SCHEISS unterstellen! ;)
somit verbleibe ich MFG Marco Weber
Hallo Marco.
ich entschuldige mich auch für die obige direktheit, aber du kannst doch leuten NICHT EINFACH IRGENDWELCHEN SCHEISS unterstellen! ;)
Im allgemeinen wird Großschreibweise als Schreien verstanden. Hier in diesem Forum, in anderen Foren, in Chats usw.
Ein paar eingespielte Regeln sollte man im Internet dann doch lieber beachten um nicht ungewollt Misslaune zu erzeugen.
Grüße aus Würzburg
Julian
Im allgemeinen wird Großschreibweise als Schreien verstanden. Hier in diesem Forum, in anderen Foren, in Chats usw.
Ein paar eingespielte Regeln sollte man im Internet dann doch lieber beachten um nicht ungewollt Misslaune zu erzeugen.
ach so... *g* und schon wieder in ein fettnäpfchen getreten...
das kann aber ja nicht gerade jeder wissen... *g*
dann tut's mir natürlich leid... :(
dann sollten es aber die macher von selfhtml ganz gross (aber in kleinen buchstaben... ;) ) auf das forum schreiben um weitere missverständnisse zu vermeiden...
Naja, man lernt eben nie aus...
MFG Marco