Also hier ist meine Situation, und die Lösung, die ich habe, um das Problem zu lösen. Ich habe eine Anwendung erstellt, die TinyMCE enthält, damit Benutzer HTML-Inhalt zum Veröffentlichen erstellen können. Der Benutzer kann Bilder in das Markup einfügen und die Bilder, die sich auf die endgültigen Attribute für Breite/Höhe im IMG-Tag auswirken, ziehen/skalieren. Das ist alles toll, die Benutzer können Bilder aufnehmen und sie in ihrer gewünschten Form verändern. Aber ein großes Problem ist, dass ich jetzt ein (möglicherweise) viel größeres Bild an den Client sende, nur damit der Browser das Bild in die angeforderten Breiten-/Höhenattribute skaliert. All diese Bandbreite und verlorene Ladezeit ....Regex, um Thumbnails zu erstellen!?!?! (aber das ist verrückt!)
Meine Lösung besteht also darin, den Markup-Inhalt meiner Benutzer vorzuverarbeiten, alle IMG-Tags zu scannen und die Height/Width/Src-Attribute zu analysieren. Setzen Sie dann das SRC-Tag jedes Imgs auf eine phpThumb-Anfrage, wobei die analysierte Höhe/Breite in die Thumbnails-URL übernommen wird. Dadurch wird mein verkleinertes Bild erstellt (Optimierung der Bandbreite auf Kosten von CPU und Caching). Was denkst du über diese Lösung? Ich habe andere Posts gesehen, in denen Leute mod_rewrite benutzt haben, um etwas ähnliches zu tun, aber ich möchte den Inhalt des Seiten-Services beeinflussen und die Bild-Anfragen nicht so manipulieren, wie sie empfangen werden. .... Irgendwelche Gedanken zu diesem Design?
Ich brauche Hilfe mit den feinen Details, da meine Regex-Fähigkeiten etwas Arbeit brauchen, aber ich bin sehr kurz an der Zeit und verspreche, meine technische Kenntnisse Schulden bald zu bezahlen. Um die Regex einfacher zu machen, bin ich mir einiger Dinge sicher. Nur img-Tags, die diese Verarbeitung benötigen, haben eine vorhandene width = "" height = "" Attribute (mit den doppelten Anführungszeichen und unteren verkleinerten Text, aber ich denke, die Übereinstimmung Groß- und Kleinschreibung ist besser, wenn TinyMCE ändert)
Also eine Regex, um nur die notwendigen Img-Tags zu finden, und vielleicht noch drei Regexs, um die src, die Breite und die Höhe zu extrahieren?
Danke an alle.
Haben Sie überlegt, einen HTML-Parser zu verwenden? Oder ist das keine Option? – pinkgothic
Ich stimme zu, indem Sie Regex wählen, fügen Sie Ihrem Projekt eine erhebliche Unsicherheit hinzu. Es kann sich herausstellen, dass es etwas schneller implementiert werden kann als eine prozedurale Lösung, oder es kann viel, viel, viel langsamer sein (vorausgesetzt, Sie injizieren Probleme, die in QA oder von den Benutzern aufgefangen werden). –