Foros del Web » Programando para Internet » PHP »

output buffering + highlight_string

Estas en el tema de output buffering + highlight_string en el foro de PHP en Foros del Web. Bueno la cosa viene a tono con el post de webstudio por ahi ;) La funcion highlight_string lo que hace es imprimir en pantalla la ...
  #1 (permalink)  
Antiguo 30/07/2002, 14:54
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
output buffering + highlight_string

Bueno la cosa viene a tono con el post de webstudio por ahi ;)
La funcion highlight_string lo que hace es imprimir en pantalla la cadena solicitada, coloreando su codigo fuente segun los colores que se ven en phpinfo().
El tema es que yo necesito almacenarlo en una BD ademas de imprimirlo asi que no me servia de mucho. Hay una opcion para hacer que devuelva el html, pero solo a partir de php 4.2.x (que no lo tengo ni yo ni mi server).
Enfin, la cosa es que hice una funcion con output buffering y de paso que solo coloree lo que esta entre [SOURCE] y [/SOURCE]
Es esta:
Código:
  
function colorear_source($string){
	$array_contenido = explode("[SOURCE]",$string);
	$final = $array_contenido[0];
	for($i = 1;$i <= count($array_contenido);$i++){
		$array_contents = explode("[/SOURCE]",$array_contenido[$i]);
		//highlighteamos lo que nos interesa
		ob_start();
		highlight_string($array_contents[0]);
		$array_contents[0] = ob_get_contents();
		ob_end_clean();
		$final .='<br><font face="Courier new, Courier, Mono" size=3>'.$array_contents[0]."</font><br>".$array_contents[1];
	}
	return $final;
}
Funciona excelente cuando el string se define en un script, es decir de la forma $string = 'echo ...'
El problema esta en que yo necesito que highlightee el codigo que se ingresa por un formulario... Y me pone el siguiente error:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in c:\mis documentos\gonzalo\solophp-online\includes\global.php on line 140
Se me ocurre que es un problema con los \n de windows que no son realmente \n sino \n\??
Si le saco todas las \ del codigo lo highlightea bien lo q pasa es que no es muy comodo que este todo en una linea
Si a alguien se lo ocurre como darme una mano, desde ya les agradezco!
Saludos y gracias :)


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #2 (permalink)  
Antiguo 30/07/2002, 15:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: output buffering + highlight_string

mmm y \n\r .. o solo \r .. ?

Un saludo,
  #3 (permalink)  
Antiguo 30/07/2002, 15:25
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: output buffering + highlight_string

Gomo, te fijaste que tu PHP no te agregue los \ dentro del código Submiteado? O sea, que haga un addslashes automático ?
Me parece que podría ser eso.
Por el resto, veo que la función está más que bien.

<hr><font size=2 face=verdana>- Pablo Rigazzi (<img src=http://www.fantabuloso.com/iB_html/non-cgi/emoticons/bullwhip.gif align=absmiddle>)[/CODE]
<font size=1 color=#333333>Visita <a href=http://www.web-studio.com.ar>Web Studio</a>[/CODE]
  #4 (permalink)  
Antiguo 30/07/2002, 15:59
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: output buffering + highlight_string

cluster era lo que pensaba, eso no es

web:
no tengo idea de como saber eso
pero en principio no bah salvo que tenga voluntad propia
le pongo un stripslashes() adelante a ver que pasa y les cuento...

Gracias ;)


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #5 (permalink)  
Antiguo 30/07/2002, 16:07
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: output buffering + highlight_string

webstudio sos un maestrooooooo
(y cluster tb me lo dijo casi al mismo tiempo en el IRC ;) )
ahora funciona excelente!!

&lt;patch para la funcion&gt;
agregar $string = stripslashes($string); al comienzo de todo
&lt;/patch para la funcion&gt;

y ahora disfrutenla jejej y q les sea de utilidad

Saludos ;)


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
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 08:33.