Frage

Ich habe die folgende Zeichenfolge in der Smarty (PHP Template-System) Variable $ Test:

<img height="113" width="150" alt="Sunset" src="/test.jpg"/>

Ich will „em“ auf die Höhe hinzuzufügen und Breite wie folgt:

{$test|replace:'" w':'em" w'|replace:'" a':'em" a'}

Aber das funktioniert nicht ... Was ist das Problem und die Lösung?

War es hilfreich?

Lösung

meine regex ist nicht die größte, oder ich würde Ihnen einen besseren Matcher geben, aber vielleicht mit, was Sie durch die Regex haben ersetzen funktionieren würde.

{$test|regex_replace:'/".w/':'em" w'|regex_replace:'/".a/':'em" a'}

andere Matcher versuchen

'/\".w/'
'/".*w/'
'/\".*w/'

ich kann nicht mit meinen Smarty Websites im Moment spielen, aber ich würde zuerst den "von dem Wiederbeschaffungswert zu entfernen, um zu sehen, ob der Fehler ist, dann ist es aus dem Matcher entfernen und suchen Sie einfach nach Höhe / Breite .

sonst würde ich das in PHP ersetzen tun, wenn Sie können.

Andere Tipps

Sie wissen ‚em‘ Einheiten in HTML Breite / Höhe Attribute sind nicht gültig, nicht wahr? Das ist nur CSS.

Mit Aggiorno 'Smart Suchen und Ersetzen Sie tun können es wie folgt:

Suchmuster:

<img height="$h" width="$w" $attributes/>

Ersetzen Muster:

<img height="$[h]em" width="$[w]em" $attributes"/>

Wenn Sie auf die Schaltfläche „Suchen“ klicken, werden alle Ereignisse vor dem Aufbringen der Ersatz hervorgehoben werden, so dass Sie eine weitere Überprüfung zu tun, nach, dass Sie den Austausch sicher anwenden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top