Wie passt man Whitespace, Carriage Return und Line Feed mit regulärem Ausdruck in PHP zusammen?
Arbeite ich mit einem regulären Ausdruck in PHP. Ich habe folgenden string:
<img
src="/files/admin/hotel_website.gif" alt="Go To The Hotel's Web
Site" align="absmiddle" border="0" class="hotel_icon" />
Dieser string enthält carriage return und line feed Zeichen.
Ich will, dass mein regulärer Ausdruck zum ersetzen von html-img-tags IMG, aber das funktioniert nicht mit dem obigen text.
Entdeckte ich, dass es enthalten diese Zeichen per Schleife durch jedes Zeichen in der Zeichenfolge, und drucken Sie die hexadezimale Darstellung, die hier gefunden werden kann (http://pastebin.com/ViNdBsRV).
Hier ist mein regulärer Ausdruck:
strip_tags(preg_replace('/^\s*<img\s*.*\/?>\s*$/i', '[IMG]', $test));
Dankbar für die Hilfe.
InformationsquelleAutor der Frage Sid | 2011-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
:
Persönlich, wenn ich einen regulären Ausdruck, den ich immer versuche, den kürzesten/einfachsten.
Sie möchten hier ersetzen Sie einen ganzen tag, die beginnt mit '
<img
' und endet mit '/>
', '.+?
' ist eine non-greedy (faul) fangen.Und für die Modifikatoren '
i
"für den Fall und's
'.
die Möglichkeit zu einer neuen Zeilen.Mehr auf greedyness vs lazyness : http://www.regular-expressions.info/repeat.html
Mehr auf Modifikatoren: http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
InformationsquelleAutor der Antwort 3on
[\n\r]+
Werden neue Linien. Für Leerzeichen hinzufügen[\n\r\s]+
InformationsquelleAutor der Antwort Merianos Nikos
Dieser arbeitete für mich, es mit mehreren Räumen und mehrzeilige, auch jedes andere Zeichen oder symbol.
Hoffe, dies hilft jemand.
Passt es zum Beispiel:
InformationsquelleAutor der Antwort G Jeny Ramirez