quarta-feira, 13 de abril de 2011

Problemas com caracteres de escape em PHP

Outro dia vieram me fazer uma simples pergunta, que realmente me deixou com dúvida. A questão era a seguinte, o código abaixo não pulava linha como deveria:

     echo $result_product_alias."\n".$print_footer;

Um erro simples, mas que para quem está acostumado com programação em C++ ou JAVA passa despercebido. O interpretador PHP reconhece o comando de escape "\n" como qualquer outro, porém, o problema acontece quando ele é passado para o navegador. Abrindo o código fonte temos:


...
valor de result_product_alias.
valor de $print_footer
...


Perceba que ocorreu o pulo de linha, mas o navegador (na verdade, por causa da marcação HTML) não vai interpretar dessa forma e colocará tudo na mesma linha. Notaram a falta do
no código gerado?

O "\n" funciona perfeitamente se for acionado via prompt, mas não via navegador. Por isso, a W3C recomenda que para códigos em PHP seja usado opara pulos de linha. Os demais caracteres de escape, sinceramente, não sei. Mas se pensarmos que a camada de formatação (exibição) deve ser separada da de estruturação, os demais caracteres de escape devem ser ignorados e a tarefa deixada para o CSS. Cabe a excessão " \"Alguma citação, por exemplo\" " quando queremos usar aspas duplas, o que também serve para outros caracteres especiais.


Nenhum comentário:

Postar um comentário

Enforque-se nas cordas da liberdade.