Pergunta

Eu tenho a seguinte seqüência de caracteres no Smarty (sistema de templates php) $ test variável:

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

Gostaria de acrescentar "em" para a altura e largura como esta:

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

Mas isso não funciona ... Qual é o problema ea solução?

Foi útil?

Solução

meu regex não é o maior, ou eu dar-lhe uma correspondência melhor, mas talvez usando o que você tem através do regex substituir iria funcionar.

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

outros matchers tentar

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

Eu não posso jogar com meus sites do sabe-tudo no momento, mas eu primeiro remover o "a partir do valor de reposição, para ver se o bug está lá, em seguida, removê-lo da correspondência e basta olhar para a altura / largura .

caso contrário eu faria o substituir em PHP, se puder.

Outras dicas

Você sabe ‘em’ unidades em HTML largura / altura atributos não são válidos, certo? Que de CSS somente.

Com Aggiorno 's Smart Search and Replace você pode fazer assim:

Pesquisar Padrão:

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

Substituir Padrão:

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

Quando você clica no botão "Procurar", todas as ocorrências são destacadas antes de aplicar a substituição para que possa fazer mais corrente, depois que você pode aplicar a substituição confiança.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top