Veröffentlicht 31. März 200619 j Hi Leute ... oh man die RegExp machen mir immer Kopfzerberchen! ich hab nen Text und in dem ist ein alt="" attribut im img tag! Wie würde denn der RegExp heissen um das Alt="" Attribut rauszufiltern? Bsp: <img src="1.jpg" ALT="das ist bild 1" width="" height=""> Raus kommen müsste dann: das ist bild 1 ich dachte sowas in der richtung: //.*ALT=\"*\":*/ aber das überhaput ned hin Kann mir da jemand bitte Geistige unterstützung geben Danke mcmaiers
31. März 200619 j Wie wärs mit <.*alt="([^"]*)".*> ? In Worten etwa 'Finde etwas zwischen < und > das mit alt=" anfängt und bis zum nächsten " geht.' Erfordert natürlich zwingend die doublequotes für den alt-Tag. preg_replace-example: <? $new = preg_replace('/.*<.*alt="([^"]*)".*>.*/i','$1',$old); ?> [/php]
3. April 200619 j Wie wärs mit <.*alt="([^"]*)".*> ?Oder einfacher: <.*alt="(.+?)".*> hier mit minimalem Matching, also gesucht wird der kleinste Text zwischen zwei " vor dem alt=. Ich habt das .+? gewohnheitsmäßig inKlammern gesetzt, hat in Perl in unserem Fall den nützlichen Effekt, dass man den Wert des Alt-Attributs gleich in $1 abgreifen kann; wie das in PHP gemacht wird, muss ich jedesmal das Manual konsultieren. Frage am Rande: Ich hab mir ja angewöhnt, die " immer zu escapen. Macht das noch einer? Ich finde, im von mir benutzten Editor (UltraEdit) sieht das einfach hübscher aus.
3. April 200619 j Frage am Rande: Ich hab mir ja angewöhnt, die " immer zu escapen. Macht das noch einer? Ich finde, im von mir benutzten Editor (UltraEdit) sieht das einfach hübscher aus. Ungern, da ich auch oft genug Perl/PHP/$SCRIPT auf remote Servern via ssh/vi anfassen muß. Daher meist Singlequotes außen und Doublequotes innen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.