Foros del Web » Programando para Internet » PHP »

Indentado en PHP y HTML... grrr

Estas en el tema de Indentado en PHP y HTML... grrr en el foro de PHP en Foros del Web. Casi desde el mismo momento en que logré escribir el Hola Mundo he estado tratando de llevarme bien con PHP y HTML simultándeamente en cuanto ...
  #1 (permalink)  
Antiguo 06/05/2010, 10:11
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 11 meses
Puntos: 832
Indentado en PHP y HTML... grrr

Casi desde el mismo momento en que logré escribir el Hola Mundo he estado tratando de llevarme bien con PHP y HTML simultándeamente en cuanto al indentado. Sucede que muchas veces todo se vuelve un enredo: tratar de indentar correctamente el PHP resulta en un desastre visual en el HTML resultante y viceversa ¿alguien tiene un método que armonice las dos cosas sin demasiado esfuerzo extra?.

Tampoco es algo 100% esencial, pero sería estupendo ver ambos códigos correctamente ordenados.
  #2 (permalink)  
Antiguo 06/05/2010, 10:16
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Indentado en PHP y HTML... grrr

mira yo hace algun tiempo estube tratando de crear un codigo para indentar todo el html.. por lo mismo que dices tu.. para mantener un orden en el codigo.. hay algunos a los que le gusta mantener el orden (como yo)
te dejo lo que logre.. aunque no creo que sea una solucion definitiva ya que es uso de recursos en vano pero quiza te sirva para tener una idea

uff luego lo cuelgo lo deje en linux x'D reinicio .. aguanta
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 06/05/2010, 10:21
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Indentado en PHP y HTML... grrr

ahora si .. anda medio lenta mi maquina :(

Código PHP:
Ver original
  1. <?php
  2. class tabulador{
  3.     private $code;
  4.     private $_tbs;
  5.     private $tbs;
  6.     private $cache;
  7.     public function __construct($code){
  8.         $this->code = $code;
  9.     }
  10.     public function tabular($tabkey = "\t"){
  11.         $this->code = preg_replace('@>([\n\r\s]+)<@', '><', $this->code);
  12.         $this->code = preg_replace('@([\n\r\t]{1,})@', '', $this->code);
  13.         $this->code = preg_replace('@(<!doctype([^>]*)>)@i', "$1\n", $this->code);
  14.         for($t=0;$this->cache!=$this->code;++$t){
  15.             $this->cache=$this->code;
  16.             $this->_tbs = str_repeat($tabkey, $t);
  17.             $this->tbs = str_repeat($tabkey, $t+1);
  18.             $this->code = preg_replace('@<(\w+)([^>]*)>(.*?)</\1>@', "<$1$2>\n".$this->tbs."$3\n".$this->_tbs."</$1>\n".$this->_tbs, $this->code);
  19.         }
  20.         //$this->code = preg_replace("@($tabkey*)<(\w+)([^>]*)/>@", "\n<$2$3/>\n", $this->code);
  21.         $this->code = preg_replace("@[\n\r]$tabkey*[\n\r]@", "\n", $this->code);
  22.         return trim($this->code);
  23.     }
  24. }
  25. //$texto = "<span><div><input /><input /><input /><input /></div></span>";
  26. $texto = file_get_contents("http://www.google.cl");
  27. $tab = new tabulador($texto);
  28. echo $tab->tabular("    ");
  29. ?>

saludos
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 06/05/2010, 10:40
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Indentado en PHP y HTML... grrr

Si te preocupa la apariencia de tu html, entonces seria bueno que vieras la extension de PHP tidy que te ayuda entre muchas cosas, al formateo correcto de html.

Saludos.
__________________
I see dead pixels
  #5 (permalink)  
Antiguo 06/05/2010, 12:41
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 1 mes
Puntos: 40
Respuesta: Indentado en PHP y HTML... grrr

Si quieres que el código PHP no moleste en el código HTML, y viceversa, lo mejor es usar un método por capas, donde el código PHP está separado del HTML, en el HTML únicamente hay echos y variables, pero nada de la lógica que se necesita en ese archivo está entre el HTML.

Si estás interesado investiga sobre MVC.

Un saludo
  #6 (permalink)  
Antiguo 06/05/2010, 12:42
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Indentado en PHP y HTML... grrr

eso es lo que yo hago =)

un link con informacion

http://jacobo.tarrio.org/es/tech/php_claro

PD: tambien hice una classe para usar templates
http://www.forosdelweb.com/f68/aport...on-php-780890/
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 06/05/2010, 19:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Indentado en PHP y HTML... grrr

Si vas a usar el patrón MVC te recomiendo que leas este material, te va a dar muchas ideas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.