Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2003, 14:25
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Cuando PHP te marca un error fuera del codigo PHP, en el codigo HTML, es porque se te habra olvidado cerrar unas comillas, un ; , un ), una } o algo asi. Empieza ha revisar todas las lineas desde la ultima hasta la primera. Y para poner codigo PHP en los foros, usa las etiquetas que estan para eso.
Código PHP:
<HTML>
<HEAD>
<TITLE> Manejo de cadenas </TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<?
$path
="C:\Archivos de programa\hola.txt";
$n=0;
$longitud=strlen($path);
for(
$i=0;$i<=$longitud;$i++)
{

$matriz[0][$i]=substr($path,$i,1);
echo 
"{$matriz[0][$i]}";

}
for(
$i=$longitud;$i<=0;$i--)
{
$n=$n+1;
if (
$matriz[0][$i] == "\")
break;
}
$n=$n+1;
$longitud=$longitud-$n;
$path=substr($path,1,$longitud);
echo "
$path";
?>
</BODY>
</HTML>
Esto suele ayudar ya que con el resalto de sintaxis se puede ver por el color donde puede estar el fallo. Yo mirandolo en mi editor localizo el fallo aqui:
Código PHP:
if ($matriz[0][$i] == "\") 
¿Que cual es el fallo? Pues muy sencillo. Has abierto una cadena con " y se te ha oldado cerrarla. "Estas tonto, estan ahi mismo, detras del \ ". Exactamente por eso de estar detras de \, que es el caracter de escape, PHP no lo interpreta como comillas de cierre de cadena. Para PHP has comenzado una cade y quieres que el primer caracter de la cadena sea ". Solucion: usa comillas simples ':
Código PHP:
if ($matriz[0][$i] == ) 
o si quieres usar comillas dobles escapa el caracter de escape:
Código PHP:
if ($matriz[0][$i] == "\\\\"
Espero haber sido de ayuda.

PD: Ahora entiendo por que no has usado las etiquetas. Se come los \ de dentro del codigo. He tenido que poner para la segunda solucion \\\\ para que se vea \\.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 06/06/2003 a las 14:28