Pregunta

Tengo la siguiente cadena en la variable $ test de smarty (sistema de plantillas php):

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

Quiero agregar " em " a la altura y el ancho de esta manera:

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

Pero esto no funciona ... ¿Cuál es el problema y la solución?

¿Fue útil?

Solución

mi expresión regular no es la mejor, o te daría una mejor coincidencia, pero tal vez usar lo que tienes a través de la sustitución de expresiones regulares funcionaría.

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

otros buscadores para probar

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

no puedo jugar con mis sitios inteligentes en este momento, pero primero eliminaría el " desde el valor de reemplazo, para ver si el error está allí, luego quítelo del emparejador y solo busque la altura / ancho.

de lo contrario haría el reemplazo en PHP si puedes.

Otros consejos

Usted sabe & # 8216; em & # 8217; las unidades en los atributos ancho / alto HTML no son válidas, ¿verdad? Eso es solo CSS.

Con Aggiorno puede buscar y reemplazar de forma inteligente así:

Patrón de búsqueda:

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

Reemplazar patrón:

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

Cuando hace clic en " Buscar " botón, todas las ocurrencias se resaltan antes de aplicar el reemplazo para que pueda realizar más verificaciones, después de eso puede aplicar el reemplazo con confianza.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top