Changes between Initial Version and Version 1 of WF/Modificadoresdevariaveis


Ignore:
Timestamp:
07/24/07 15:01:41 (17 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/Modificadoresdevariaveis

    v1 v1  
     1Modificadores de variáveis podem ser aplicados a variáveis, funções personalizadas ou strings. Para aplicar um modificador, especifique o valor seguido por |(pipe) e o nome do modificador. Um modificador aceita parâmetros adicionais que afetam o seu comportamento. Estes parâmetros vem após o nome do modificador e são separados por : (dois pontos). 
     2  
     3 
     4Exemplo 5-1. Exemplo de modificador 
     5 
     6{{{ 
     7 
     8{* Faz o título ficar com letras maiúsculas *} 
     9 
     10<h2>{$titulo|upper}</h2> 
     11 
     12 
     13 
     14{* Faz com que $topico use somente 40 caracteres, e coloca ... no fim da frase *} 
     15 
     16 
     17 
     18Tópico: {$topico|truncate:40:"..."} 
     19 
     20 
     21 
     22{* transforma a data em um formato legível *} 
     23 
     24{"agora"|date_format:"%Y/%m/%d"} 
     25 
     26 
     27 
     28{* aplica um modificador à uma função personalizada *} 
     29 
     30{mailto|upper address="eu@dominio.dom"} 
     31 
     32}}} 
     33 
     34Se você aplicar um modificador à uma matriz ao invés de aplicar ao valor de uma variável, o modificador vai ser aplicado à cada valor da matriz especificada. Se você quer que o modificador use a matriz inteira como um valor, você deve colocar o símbolo @ antes do nome do modificador, como a seguir: {$tituloArtigo|@count} (isto irá mostrar o número de elementos na matriz $tituloArtigo). 
     35 
     36 
     37 
     38Modificadores podem ser carregados automaticamente à partir do seu $plugins_dir (veja: Nomes sugeridos) ou podem ser registrados explicitamente (veja: register_modifier). Adicionalmente, todas as funções php podem ser utiliadas como modificadores implicitamente. (O exemplo do @count acima usa a função count do php e não um modificador do Smarty). Usar funções do php como modificadores tem dois pequenos problemas: Primeiro: às vezes a ordem dos parâmetros da função não é a desejada ({"%2.f"|sprintf:$float} atualmente funciona, mas o melhor seria algo mais intuitivo. Por exemplo: {$float|string_format:"%2.f"} que é disponibilizado na distribuição do Smarty). Segundo: com a variável $security ativada em todas as funções do php que são usadas como modificadores precisam ser declaradas como confiáveis (trusted) na matriz $security_settings['MODIFIER_FUNCS']. 
     39 
     40 
     41 
     42= capitalize = 
     43 
     44---- 
     45 
     46Isto é usado para converter para maiúsculas a primeira letra de todas as palavras em uma variável. 
     47 
     48 
     49 
     50Exemplo 5-2. capitalize 
     51 
     52 
     53 
     54index.php: 
     55 
     56{{{ 
     57 
     58$smarty = new Smarty; 
     59 
     60$smarty->assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); 
     61 
     62$smarty->display('index.tpl'); 
     63 
     64 
     65 
     66index.tpl: 
     67 
     68 
     69 
     70{$articleTitle} 
     71 
     72{$articleTitle|capitalize} 
     73 
     74 
     75 
     76SAÍDA: 
     77 
     78 
     79 
     80Police begin campaign to rundown jaywalkers. 
     81 
     82Police Begin Campaign To Rundown Jaywalkers. 
     83 
     84}}} 
     85 
     86 
     87 
     88= lower = 
     89 
     90---- 
     91 
     92Isto é usado para converter para minúsculas uma variável. 
     93 
     94 
     95 
     96Exemplo 5-13. lower 
     97 
     98 
     99 
     100index.php: 
     101 
     102{{{ 
     103 
     104$smarty = new Smarty; 
     105 
     106$smarty->assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); 
     107 
     108$smarty->display('index.tpl'); 
     109 
     110 
     111 
     112index.tpl: 
     113 
     114 
     115 
     116{$articleTitle} 
     117 
     118{$articleTitle|lower} 
     119 
     120}}} 
     121 
     122MOSTRA: 
     123 
     124 
     125 
     126Two Convicts Evade Noose, Jury Hung. 
     127 
     128two convicts evade noose, jury hung. 
     129 
     130 
     131 
     132= date_format = 
     133 
     134---- 
     135 
     136{{{ 
     137 
     138Posição do Parâmetro    Tipo    Requerido       Padrão  Descrição 
     139 
     1401       string  Não     %b %e, %Y       Este é o formato para a data mostrada. 
     141 
     1422       string  Não     n/a     Esta é a data padrão se a entrada estiver vazia. 
     143 
     144}}} 
     145 
     146Isto formata a data e hora no formato strftime() indicado. Datas podem ser passadas para o Smarty como timestamps unix, timestamps mysql, ou qualquer string composta de mês dia ano(interpretavel por strtotime). Designers podem então usar date_format para ter um controle completo da formatação da data. Se a data passada para date_format estiver vazia e um segundo parâmetro for passado, este será usado como a data para formatar. 
     147 
     148 
     149 
     150Exemplo 5-8. date_format 
     151 
     152 
     153 
     154index.php: 
     155 
     156{{{ 
     157 
     158$smarty = new Smarty; 
     159 
     160$smarty->assign('yesterday', strtotime('-1 day')); 
     161 
     162$smarty->display('index.tpl'); 
     163 
     164 
     165 
     166index.tpl: 
     167 
     168 
     169 
     170 
     171 
     172{$smarty.now|date_format} 
     173 
     174{$smarty.now|date_format:"%A, %B %e, %Y"} 
     175 
     176{$smarty.now|date_format:"%H:%M:%S"} 
     177 
     178{$yesterday|date_format} 
     179 
     180{$yesterday|date_format:"%A, %B %e, %Y"} 
     181 
     182{$yesterday|date_format:"%H:%M:%S"} 
     183 
     184 
     185 
     186MOSTRA: 
     187 
     188 
     189 
     190Feb 6, 2001 
     191 
     192Tuesday, February 6, 2001 
     193 
     19414:33:00 
     195 
     196Feb 5, 2001 
     197 
     198Monday, February 5, 2001 
     199 
     20014:33:00 
     201 
     202 
     203 
     204Exemplo 5-9. date_format conversion specifiers 
     205 
     206 
     207 
     208%a - nome do dia da semana abreviado de acordo com o local atual 
     209 
     210 
     211 
     212%A - nome do dia da semana inteiro de acordo com o local atual 
     213 
     214 
     215 
     216%b - nome do mês abreviado de acordo com o local atual 
     217 
     218 
     219 
     220%B - nome do mês inteiro de acordo com o local atual 
     221 
     222 
     223 
     224%c - representação preferencial de data e hora para o local atual 
     225 
     226 
     227 
     228%C - ano com dois dígitos (o ano dividido por 100 e truncado para um inteiro, intervalo de 00 a 99) 
     229 
     230 
     231 
     232%d - dia do mês como um número decimal (intervalo de 00 a 31) 
     233 
     234 
     235 
     236%D - o mesmo que %m/%d/%y 
     237 
     238 
     239 
     240%e - dia do mês como um número decimal, um único dígito é precedido por um 
     241 
     242espaço (intervalo de 1 a 31) 
     243 
     244 
     245 
     246%g - ano baseado na semana, sem o século [00,99] 
     247 
     248 
     249 
     250%G - ano baseado na semana, incluindo o século [0000,9999] 
     251 
     252 
     253 
     254%h - o mesmo que %b 
     255 
     256 
     257 
     258%H - hora como um número decimal usando um relógio de 24 horas (intervalo de 00 a 23) 
     259 
     260 
     261 
     262%I - hora como um número decimal usando um relógio de 12 horas (intervalo de 01 a 12) 
     263 
     264 
     265 
     266%j - dia do ano como um número decimal (intervalo de 001 a 366) 
     267 
     268 
     269 
     270%k - hora (relógio de 24 horas) digítos únicos são precedidos por um espaço em branco (intervalo de 0 a 23) 
     271 
     272       
     273 
     274%l - hora como um número decimal usando um relógio de 12 horas, digítos unicos são precedidos 
     275 
     276por um espaço em branco (intervalo de 1 a 12) 
     277 
     278 
     279 
     280%m - mês como número decimal (intervalo de 01 a 12) 
     281 
     282 
     283 
     284%M - minuto como um número decimal 
     285 
     286 
     287 
     288%n - caractere de nova linha  
     289 
     290 
     291 
     292%p - ou `am' ou `pm' de acordo com o valor de hora dado, ou as strings correspondentes ao local atual  
     293 
     294 
     295 
     296%r - hora na notação a.m. e p.m.   
     297 
     298 
     299 
     300%R - hora na notação de 24 horas 
     301 
     302 
     303 
     304%S - segundo como número decimal  
     305 
     306 
     307 
     308%t - caractere tab  
     309 
     310 
     311 
     312%T - hora atual, igual a %H:%M:%S  
     313 
     314 
     315 
     316%u - dia da semana como um número decimal [1,7], com 1 representando segunda-feira  
     317 
     318 
     319 
     320%U - número da semana do ano atual como um número decimal, começando com o primeiro domingo como primeiro dia da primeira semana  
     321 
     322 
     323 
     324%V - número da semana do ano atual como um número decimal de acordo com The ISO 8601:1988, 
     325 
     326intervalo de 01 a 53, aonde a semana 1 é a primeira semana que tenha pelo menos quatro dias no ano atual, sendo domingo o primeiro dia da semana.  
     327 
     328 
     329 
     330%w - dia da semana como decimal, domingo sendo 0  
     331 
     332 
     333 
     334%W - número da semana do ano atual como número decimal, começando com a primeira segunda como primeiro dia da primeira semana   
     335 
     336 
     337 
     338%x - representação preferencial da data para o local atualsem a hora  
     339 
     340 
     341 
     342%X - representação preferencial da hora para o local atual sem a data  
     343 
     344 
     345 
     346%y - ano como número decimal sem o século (intervalo de 00 a 99)  
     347 
     348 
     349 
     350%Y - ano como número decimal incluindo o século  
     351 
     352 
     353 
     354%Z - zona horária ou nome ou abreviação  
     355 
     356 
     357 
     358%% - um caractere `%'  
     359 
     360}}} 
     361 
     362 
     363 
     364NOTA PARA PROGRAMADORES: date_format é essencialmente um wrapper para a função strftime() do PHP. 
     365 
     366Você deverá ter mais ou menos especificadores de conversão disponíveis de acordo com a  
     367 
     368função strftime() do sistema operacional aonde o PHP foi compilado. De uma olhada 
     369 
     370na página de manual do seu sistema para uma lista completa dos especificadores válidos. 
     371 
     372 
     373 
     374= count_words = 
     375 
     376---- 
     377 
     378Isto é usado para contar o número de palavras em uma variável. 
     379 
     380 
     381 
     382Exemplo 5-7. count_words 
     383 
     384 
     385 
     386index.php: 
     387 
     388{{{ 
     389 
     390$smarty = new Smarty; 
     391 
     392$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); 
     393 
     394$smarty->display('index.tpl'); 
     395 
     396 
     397 
     398index.tpl: 
     399 
     400 
     401 
     402{$articleTitle} 
     403 
     404{$articleTitle|count_words} 
     405 
     406 
     407 
     408MOSTRA: 
     409 
     410 
     411 
     412Dealers Will Hear Car Talk at Noon. 
     413 
     4147 
     415 
     416}}} 
     417 
     418 
     419 
     420= default = 
     421 
     422---- 
     423 
     424Posição do Parâmetro    Tipo    Requerido       Padrão  Descrição 
     425 
     4261       string  Não     vazio   Este é o valor padrão para mostrar se a variável estiver vazia. 
     427 
     428 
     429 
     430Isto é usado para definir um valor padrão para uma variável. Se a variável estiver vazia ou não for definida, o valor padrão dado é mostrado. Default usa um argumento. 
     431 
     432 
     433 
     434Exemplo 5-10. default 
     435 
     436 
     437 
     438index.php: 
     439 
     440{{{ 
     441 
     442$smarty = new Smarty; 
     443 
     444$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); 
     445 
     446$smarty->display('index.tpl'); 
     447 
     448 
     449 
     450index.tpl: 
     451 
     452 
     453 
     454{$articleTitle|default:"no title"} 
     455 
     456{$myTitle|default:"no title"} 
     457 
     458 
     459 
     460MOSTRA: 
     461 
     462 
     463 
     464Dealers Will Hear Car Talk at Noon. 
     465 
     466no title 
     467 
     468}}} 
     469 
     470 
     471 
     472= escape = 
     473 
     474---- 
     475 
     476Posição do Parâmetro    1        
     477 
     478Tipo    string   
     479 
     480Requerido       Não      
     481 
     482Valores Possíveis       html,htmlall,url,quotes,hex,hexentity,javascript         
     483 
     484Padrão  html     
     485 
     486Descrição Este é o formato de escape para usar. 
     487 
     488 
     489 
     490Este é usado para escapar html, url, aspas simples em uma variável que já não esteja escapada, escapar hex, hexentity ou javascript. Por padrão, é escapado o html da variável. 
     491 
     492 
     493 
     494Exemplo 5-11. escape 
     495 
     496 
     497 
     498index.php: 
     499 
     500{{{ 
     501 
     502$smarty = new Smarty; 
     503 
     504$smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); 
     505 
     506$smarty->display('index.tpl'); 
     507 
     508 
     509 
     510index.tpl: 
     511 
     512 
     513 
     514{$articleTitle} 
     515 
     516{$articleTitle|escape} 
     517 
     518{$articleTitle|escape:"html"}    {* escapa  & " ' < > *} 
     519 
     520{$articleTitle|escape:"htmlall"} {* escapa todas as entidades html *} 
     521 
     522{$articleTitle|escape:"url"} 
     523 
     524{$articleTitle|escape:"quotes"} 
     525 
     526<a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a> 
     527 
     528 
     529 
     530MOSTRA: 
     531 
     532 
     533 
     534'Stiff Opposition Expected to Casketless Funeral Plan' 
     535 
     536'Stiff Opposition Expected to Casketless Funeral Plan' 
     537 
     538'Stiff Opposition Expected to Casketless Funeral Plan' 
     539 
     540'Stiff Opposition Expected to Casketless Funeral Plan' 
     541 
     542%27Stiff+Opposition+Expected+to+Casketless+Funeral+Plan%27 
     543 
     544\'Stiff Opposition Expected to Casketless Funeral Plan\' 
     545 
     546<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">bob@me.net</a> 
     547 
     548}}} 
     549 
     550 
     551 
     552= indent = 
     553 
     554---- 
     555 
     556Posição do Parâmetro    Tipo    Requerido       Padrão  Descrição 
     557 
     5581       integer Não     4       Isto define com quantos caracteres endentar. 
     559 
     5602       string  Não     (um espaço)     Isto define qual caractere usado para endentar. 
     561 
     562 
     563 
     564Isto endenta uma string em cada linha, o padrão é 4. Como parâmetro opcional, você pode especificar o número de caracteres para endentar. Como segundo parâmetro opcional, você pode especificar o caractere usado para endentar. (Use "        " para tabs.) 
     565 
     566 
     567 
     568Exemplo 5-12. indent 
     569 
     570 
     571 
     572index.php: 
     573 
     574{{{ 
     575 
     576$smarty = new Smarty; 
     577 
     578$smarty->assign('articleTitle', 'NJ judge to rule on nude beach.'); 
     579 
     580$smarty->display('index.tpl'); 
     581 
     582 
     583 
     584index.tpl: 
     585 
     586 
     587 
     588{$articleTitle} 
     589 
     590 
     591 
     592{$articleTitle|indent} 
     593 
     594 
     595 
     596{$articleTitle|indent:10} 
     597 
     598 
     599 
     600{$articleTitle|indent:1:"       "} 
     601 
     602}}} 
     603 
     604 
     605 
     606= string_format = 
     607 
     608---- 
     609 
     610Posição do parâmetro    Tipo    Requerido       Padrão  Descrição 
     611 
     6121       string  Sim     n/a     Este é o formato para ser usado. (sprintf) 
     613 
     614 
     615 
     616Este é um meio para formatar strings, como números decimais e outros. Use a sintaxe para sprintf para a formatação. 
     617 
     618 
     619 
     620Exemplo 5-18. string_format 
     621 
     622 
     623 
     624index.php: 
     625 
     626{{{ 
     627 
     628$smarty = new Smarty; 
     629 
     630$smarty->assign('number', 23.5787446); 
     631 
     632$smarty->display('index.tpl'); 
     633 
     634 
     635 
     636index.tpl: 
     637 
     638 
     639 
     640{$number} 
     641 
     642{$number|string_format:"%.2f"} 
     643 
     644{$number|string_format:"%d"} 
     645 
     646}}} 
     647 
     648MOSTRA: 
     649 
     650 
     651 
     65223.5787446 
     653 
     65423.58 
     655 
     65624 
     657 
     658 
     659 
     660= strip_tags = 
     661 
     662---- 
     663 
     664Isto retira as tags de marcação, basicamente tudo entre < e >. 
     665 
     666 
     667 
     668Exemplo 5-20. strip_tags 
     669 
     670 
     671 
     672index.php: 
     673 
     674{{{ 
     675 
     676$smarty = new Smarty; 
     677 
     678$smarty->assign('articleTitle', "Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>."); 
     679 
     680$smarty->display('index.tpl'); 
     681 
     682 
     683 
     684index.tpl: 
     685 
     686 
     687 
     688{$articleTitle} 
     689 
     690{$articleTitle|strip_tags} 
     691 
     692}}} 
     693 
     694MOSTRA: 
     695 
     696 
     697 
     698Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>. 
     699 
     700Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. 
     701 
     702 
     703 
     704= strip = 
     705 
     706---- 
     707 
     708Isto substitui todos os espaços repetidos, novas linhas e tabs por um único espaço ou a string indicada. 
     709 
     710 
     711 
     712Nota: Se você quer substituir blocos de texto do template, use a função strip.  
     713 
     714 
     715 
     716Exemplo 5-19. strip 
     717 
     718 
     719 
     720index.php: 
     721 
     722{{{ 
     723 
     724$smarty = new Smarty; 
     725 
     726$smarty->assign('articleTitle', "Grandmother of 
     727eight makes         hole in one."); 
     728 
     729$smarty->display('index.tpl'); 
     730 
     731 
     732 
     733index.tpl: 
     734 
     735 
     736 
     737{$articleTitle} 
     738 
     739{$articleTitle|strip} 
     740 
     741{$articleTitle|strip:" "} 
     742 
     743}}} 
     744 
     745MOSTRA: 
     746 
     747 
     748 
     749Grandmother of 
     750 
     751eight makes        hole in one. 
     752 
     753Grandmother of eight makes hole in one. 
     754 
     755Grandmother of eight makes hole in one. 
     756 
     757 
     758 
     759= truncate = 
     760 
     761---- 
     762 
     763Posição Tipo    Requerido       Padrão  Descrição 
     764 
     7651       integer Não             80      Este determina para quantos caracteres truncar. 
     766 
     7672       string  Não             ...     Este é o texto para adicionar se truncar. 
     768 
     7693       boolean Não             false   Isto determina quando truncar ou não ao final de uma palavra(false), ou no caractere exato (true). 
     770 
     771 
     772 
     773Isto trunca a variável para uma quantidade de caracteres, o padrão é 80. Como segundo parâmetro opcional, você pode especificar uma string para mostrar ao final se a variável foi truncada. Os caracteres da string são incluídos no tamanho original para a truncagem. por padrão, truncate irá tentar cortar ao final de uma palavra. Se você quizer cortar na quantidade exata de caracteres, passe o terceiro parâmetro, que é opcional, como true. 
     774 
     775 
     776 
     777Exemplo 5-21. truncate 
     778 
     779 
     780 
     781index.php: 
     782 
     783{{{ 
     784 
     785$smarty = new Smarty; 
     786 
     787$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); 
     788 
     789$smarty->display('index.tpl'); 
     790 
     791 
     792 
     793index.tpl: 
     794 
     795 
     796 
     797{$articleTitle} 
     798 
     799{$articleTitle|truncate} 
     800 
     801{$articleTitle|truncate:30} 
     802 
     803{$articleTitle|truncate:30:""} 
     804 
     805{$articleTitle|truncate:30:"---"} 
     806 
     807{$articleTitle|truncate:30:"":true} 
     808 
     809{$articleTitle|truncate:30:"...":true} 
     810 
     811}}} 
     812 
     813MOSTRA: 
     814 
     815 
     816 
     817Two Sisters Reunite after Eighteen Years at Checkout Counter. 
     818 
     819Two Sisters Reunite after Eighteen Years at Checkout Counter. 
     820 
     821Two Sisters Reunite after... 
     822 
     823Two Sisters Reunite after 
     824 
     825Two Sisters Reunite after--- 
     826 
     827Two Sisters Reunite after Eigh 
     828 
     829Two Sisters Reunite after E... 
     830 
     831 
     832 
     833= wordwrap = 
     834 
     835---- 
     836 
     837Posição Tipo    Requerido Padrão        Descrição 
     838 
     8391       integer Não       80            Isto determina em quantas colunas quebrar. 
     840 
     8412       string  Não        
     842                Esta é a string usada para quebrar. 
     843 
     8443       boolean Não       false         Isto determina quando quebrar ou não ao final de uma palavra (false), ou no caractere exato (true). 
     845 
     846 
     847 
     848Isto quebra uma string para uma largura de coluna, o padrão é 80. Como segundo parâmetro opcional, você pode especificar a string que será usada para quebrar o texto para a próxima linha (o padrão é um retorno de carro  
     849). Por padrão, wordwrap irá tentar quebrar ao final de uma palavra. Se você quiser quebrar no tamanho exato de caracteres, passe o terceiro parâmetro, que é opcional, como true. 
     850 
     851 
     852 
     853Exemplo 5-23. wordwrap 
     854 
     855 
     856 
     857index.php: 
     858 
     859{{{ 
     860 
     861$smarty = new Smarty; 
     862 
     863$smarty->assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); 
     864 
     865$smarty->display('index.tpl'); 
     866 
     867 
     868 
     869index.tpl: 
     870 
     871 
     872 
     873{$articleTitle} 
     874 
     875 
     876 
     877{$articleTitle|wordwrap:30} 
     878 
     879 
     880 
     881{$articleTitle|wordwrap:20} 
     882 
     883 
     884 
     885{$articleTitle|wordwrap:30:"<br> 
     886"} 
     887 
     888 
     889 
     890{$articleTitle|wordwrap:30:" 
     891":true} 
     892 
     893}}} 
     894 
     895MOSTRA: 
     896 
     897 
     898 
     899Blind woman gets new kidney from dad she hasn't seen in years. 
     900 
     901 
     902 
     903Blind woman gets new kidney 
     904 
     905from dad she hasn't seen in 
     906 
     907years. 
     908 
     909 
     910 
     911Blind woman gets new 
     912 
     913kidney from dad she 
     914 
     915hasn't seen in 
     916 
     917years. 
     918 
     919 
     920 
     921Blind woman gets new kidney<br> 
     922 
     923from dad she hasn't seen in years. 
     924 
     925 
     926 
     927Blind woman gets new kidney fr 
     928 
     929om dad she hasn't seen in year 
     930 
     931s. 
     932 
     933 
     934 
     935= spacify = 
     936 
     937---- 
     938 
     939Posição Tipo    Requerido       Padrão          Descrição 
     940 
     9411       string  Não             um espaço       O que é inserido entre cada caractere da variável. 
     942 
     943 
     944 
     945Insere um espaço entre cada caractere de uma variável. Você pode opcionalmente passar um caractere (ou uma string) diferente para inserir. 
     946 
     947 
     948 
     949Exemplo 5-17. spacify 
     950 
     951 
     952 
     953index.php: 
     954 
     955{{{ 
     956 
     957$smarty = new Smarty; 
     958 
     959$smarty->assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); 
     960 
     961$smarty->display('index.tpl'); 
     962 
     963 
     964 
     965index.tpl: 
     966 
     967 
     968 
     969{$articleTitle} 
     970 
     971{$articleTitle|spacify} 
     972 
     973{$articleTitle|spacify:"^^"} 
     974 
     975}}} 
     976 
     977MOSTRA: 
     978 
     979 
     980 
     981Something Went Wrong in Jet Crash, Experts Say. 
     982 
     983S o m e t h i n g   W e n t   W r o n g   i n   J e t   C r a s h ,   E x p e r t s   S a y . 
     984 
     985S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^. 
     986 
     987 
     988 
     989= replace = 
     990 
     991---- 
     992 
     993Posição Tipo    Requerido Padrão        Descrição 
     994 
     9951       string  Sim       n/a   Esta é a string a ser substituida. 
     996 
     9972       string  Sim       n/a   Esta é a string que irá substituir. 
     998 
     999 
     1000 
     1001Um simples localizar e substituir. 
     1002 
     1003 
     1004 
     1005Exemplo 5-16. replace 
     1006 
     1007 
     1008 
     1009index.php: 
     1010 
     1011{{{ 
     1012 
     1013$smarty = new Smarty; 
     1014 
     1015$smarty->assign('articleTitle', "Child's Stool Great for Use in Garden."); 
     1016 
     1017$smarty->display('index.tpl'); 
     1018 
     1019 
     1020 
     1021index.tpl: 
     1022 
     1023 
     1024 
     1025{$articleTitle} 
     1026 
     1027{$articleTitle|replace:"Garden":"Vineyard"} 
     1028 
     1029{$articleTitle|replace:" ":"   "} 
     1030 
     1031}}} 
     1032 
     1033OUTPUT: 
     1034 
     1035 
     1036 
     1037Child's Stool Great for Use in Garden. 
     1038 
     1039Child's Stool Great for Use in Vineyard. 
     1040 
     1041Child's   Stool   Great   for   Use   in   Garden. 
     1042 
     1043 
     1044 
     1045= nl2br = 
     1046 
     1047---- 
     1048 
     1049Todas as quebras de linha serão convertidas para <br /> na variável data. Isto é equivalente a função nl2br() do PHP. 
     1050 
     1051 
     1052 
     1053Exemplo 5-14. nl2br 
     1054 
     1055 
     1056 
     1057index.php: 
     1058 
     1059{{{ 
     1060 
     1061$smarty = new Smarty; 
     1062 
     1063$smarty->assign('articleTitle', "Sun or rain expected 
     1064today, dark tonight"); 
     1065 
     1066$smarty->display('index.tpl'); 
     1067 
     1068 
     1069 
     1070index.tpl: 
     1071 
     1072 
     1073 
     1074{$articleTitle|nl2br} 
     1075 
     1076}}} 
     1077 
     1078MOSTRA: 
     1079 
     1080 
     1081 
     1082Sun or rain expected<br />today, dark tonight