Foros del Web » Programando para Internet » PHP »

Problema al comparar texto con array

Estas en el tema de Problema al comparar texto con array en el foro de PHP en Foros del Web. Hola tengo un problema y es que no puedo comparar un array con el texto if($palabras[i]==” <cabeza>”) // quiero comparar esto pero no lo compara ...
  #1 (permalink)  
Antiguo 07/06/2010, 15:32
Avatar de alexanderm  
Fecha de Ingreso: mayo-2010
Mensajes: 50
Antigüedad: 13 años, 10 meses
Puntos: 3
Problema al comparar texto con array

Hola tengo un problema y es que no puedo comparar un array con el texto
if($palabras[i]==” <cabeza>”) // quiero comparar esto pero no lo compara

Quiero barrer todo el contenido del txt almacenado en un en una variable y guardar el texto que se encuentra entre <cabezera> y </cabezera>

{
echo $palabras[$i]." " ;// no entra simplemente
$cabesera=$cabesera+$palabras[i]+" ";
echo $palabras[$i];
if($palabras[i+1]=="</cabeza>"){$acces="head_no";
}


Tengo esto en un txt y quiero almacenar en una variable cada una de las partes del txt el head, el body y las tags

<cabeza> <title> primer cms </title> <meta name="Description" content=" " /> <meta name="Keywords" content="" /> </cabeza>
<cuerpo> </cuerpo>
<tags> </tags>

<?php
$acces="head_no";
$cabesera="";
$cuerpo="";
$tags="";
$file=file_get_contents("seo.txt");
$file=htmlentities($file);
$palabras=split(" ",$file);
$file=ucfirst($file);

//$file=nl2br($file);



for($i=0;$i<count($palabras);$i++)
{


if($palabras[$i]==$palabras[0])
{
echo $palabras[$i]." " ;
//$cabesera=$cabesera+$palabras[i]+" ";
//echo $palabras[$i];
//if($palabras[i+1]=="</cabeza>"){$acces="head_no";}

}
}

?>
  #2 (permalink)  
Antiguo 07/06/2010, 15:48
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema al comparar texto con array

Te falta el símbolo del dolar en la variable "i" del if. Y de todas formas, lo de $i + 1 lo haría en una variable aparte, o antes de meterlo ahí, ejecutando $i ++ .

SAludos
__________________
Neversyn Software e Ingeniería
  #3 (permalink)  
Antiguo 07/06/2010, 16:29
Avatar de alexanderm  
Fecha de Ingreso: mayo-2010
Mensajes: 50
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Problema al comparar texto con array

Ummmmm si es cierto ya me funciono llábana como media hora y no sabía que pasaba
Ahora el problema es con el htmlentities como le doy formato otra vez a esa variable
Porque lo que quiero es insertar la variable del titulo en el head de la pagina pero con el htmlentities me salen un montón de signos necesito darle formato de nuevo para que me imprima <title></title> en el head

muchas gracias zeuslife
  #4 (permalink)  
Antiguo 07/06/2010, 18:37
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Problema al comparar texto con array

Quieres hacer algo asi como un cms.
Te voy a pasar algo, que a mi me vino gratuitamente, por lo tanto debe seguir asi.

Es un sencillo cms

Crea todo estos archivos en un mismo directorio.
Luego ingresas por simpleCMS.php


simpleCMS.php

Código PHP:

if($_GET['content'] != ""){
$theXML $_GET['content'];
}
if (empty(
$theXML)){
$theXML "default.xml";
}
//abrir archivo xml
$xml simplexml_load_file($theXML);
if ( !
$xml){
print (
"problema al abrir el archivo xml");
} else {
include (
$xml->css);
include(
$xml->top);
print 
"<span class = \"menuPanel\"> \n";
include (
$xml->menu);
print 
"</span> \n";
print 
"<span class = \"item\"> \n";
include (
$xml->content);
print 
"</span> \n";
// end if 

menu.html

Código PHP:

<h3>Menu</h3>
<
ul>
<
li><a href "simpleCMS.php?content=default.xml">default</a>
<
li><a href "simpleCMS.php?content=pagina1.xml">pagina1</a>
<
li><a href "simpleCMS.php?content=pagina2.xml">pagina2</a>
<
li><a href "simpleCMS.php?content=pagina3.xml">pagina3</a>
<
li><a href "simpleCMS.php?content=pagina4.xml">pagina4</a>
</
ul

default.xml

Código PHP:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<cpage>
<title>Ejemplo Curso PHP-MySQL</title>
<css>estilo.css</css>
<top>top.html</top>
<menu>menu.html</menu>
<content>default.html</content>
</cpage>
top.html
Código PHP:
<center><h1>Pagina Top</h1></center

default.html
Código PHP:
<center><h2>Pagina default</h2></center

//ahora para pagina1 (segundo link del menu)

pagina1.xml
Código PHP:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cpage>
<title>Ejemplo Curso PHP-MySQL</title>
<css>estilo.css</css>
<top>top.html</top>
<menu>menu.html</menu>
<content>pagina1.html</content>
</cpage>
pagina1.html
Código PHP:
<center><h2>Pagina 1</h2></center

Bueno por el momento solo estan defaul y pagina1. Agregar mas es facil

Lamentablemente no encuentro otras versiones que tenia; solo encontre esta.

Espero que te sirva para algo; mientras veo lo que posteaste a ver si sale algo.

Última edición por wiwi74; 07/06/2010 a las 19:00
  #5 (permalink)  
Antiguo 08/06/2010, 02:38
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema al comparar texto con array

Para solucionar eso, mirate esto: http://xaviesteve.com/acentos-y-enes...-8-iso-8859-1/

Aunque, de todas formas, no estaría de más que sustituyeras los símbolos, acentos y demás que te de errores, por su correspondiente ASCII, y así evitarte el problema de tener que quitar el htmlentities. Pero, de todas formas, te viene mejor explicado ahí.

Saludos!!
__________________
Neversyn Software e Ingeniería

Etiquetas: comparar
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 19:54.