No se si habran trabajdo con la plataforma MercadoSocios de Mercadolibre...resulta que la uso hace tiempo y al subirla a un nuevo servidor sus archivos, no me imprime ningun caracter &. Será un problema del servidor?
El archivo es: http://www.futbolpasion.cl/includes_ml/noticias.php y el phpinfo lo pueden ver en http://www.futbolpasion.cl/phpinfo.php.
El codigo del noticias.php es:
Código PHP:
<?
# ID de tu sitio
# Reemplazar en la linea 109 "279170" por tu site id
$as_categ_id="";
$buscar="IPOD";
$pais="MLC";
//Variable de URL as_categ_id
$id_categ=$as_categ_id;
if ($as_categ_id="") { $id_categ="1000"; }
//Variable de URL buscar
$buscar="MP3";
//Variable de URL pais (MLA,MLB,etc)
$pais="MLC";
//Elije el dominio de MercadoLibre
switch ($pais) {
case "MLA":
$dominio="www.mercadolibre.com.ar";
break;
case "MLB":
$dominio="www.mercadolivre.com.br";
break;
case "MLM":
$dominio="www.mercadolibre.com.mx";
break;
case "MLC":
$dominio="www.mercadolibre.cl";
break;
case "MLV":
$dominio="www.mercadolibre.com.ve";
break;
case "MCO":
$dominio="www.mercadolibre.com.co";
break;
case "MLU":
$dominio="www.mercadolibre.com.uy";
break;
case "MEC":
$dominio="www.mercadolibre.com.ec";
break;
case "MLP":
$dominio="www.mercadolibre.com.pe";
break;
default:
$dominio="www.mercadolibre.com.ar";
}?>
<table border="0" cellpadding="2" cellspacing="0" align="center" width="500" align="center" class="borde-negro">
<tr>
<?php
$insideitem = false;
$item = array();
$tag = "";
$title = "";
$link = "";
$price = "";
$image="";
$currency= "";
function startElement($parser, $name, $attrs) {
global $insideitem, $tag, $title, $link, $price, $image, $currency, $item;
if ($insideitem) {
$tag = $name;
} elseif ($name == "ITEM") {
$insideitem = true;
}
}
$lista_colores=array('noti1','noti2');
$num_colores=2;
$indice=0;
function endElement($parser, $name) {
global $insideitem, $tag, $title, $link, $price, $image, $currency, $item, $attrs;
if ($name == "ITEM") {
echo "<td align=\"center\">";
echo "<table align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr>";
echo "<td><div align=\"center\"><img src=\"";
$hoy=$image;
$hoy=str_replace("http://www.mercadolibre.cl/org-img/items/MLC/042006/4338071_2441.jpg","http://www.mercadolibre.cl/org-img/items/MLC/042006/4338071_4075.jpg",$hoy);
$hoy=str_replace("Colo Colo","<b>Colo Colo</b>",$hoy);
echo $hoy;
echo "\" height=\"50\"></div</td>";
echo "<td><a href=".$link." target=\"_blank\" class=linkmc><center>";
$hoy=$title;
$hoy=str_replace("Colo-Colo","<b>Colo-Colo</b>",$hoy);
$hoy=str_replace("+"," +",$hoy);
$hoy=str_replace("Colo Colo","<b>Colo Colo</b>",$hoy);
echo $hoy;
echo "</center></a>";
echo "<font class=\"precio\"><center>".$currency.$price."</center></font></td>";
echo "</tr>";
echo "</table>";
echo "</td>";
$title = "";
$link = "";
$price = "";
$item = "";
$image = "";
$currency = "";
$insideitem = false;
}
}
function characterData($parser, $data) {
global $insideitem, $tag, $title, $link, $price, $image, $currency, $item, $attrs;
if ($insideitem) {
switch ($tag) {
case "ITEM":
$id .= $item['ID'];
break;
case "TITLE":
$title .= $data;
break;
case "LINK":
$link .= str_replace("XXX","346764",$data);
break;
case "PRICE":
$price .= $data;
break;
case "IMAGE_URL":
$image .= $data;
break;
case "CURRENCY":
$currency .= $data;
break;
}
}
}
$xml_parser = xml_parser_create('ISO-8859-1');
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("http://".$dominio."/jm/searchXml?as_categ_id=".$id_categ."&as_word=".$buscar."&as_order_id=MAS_OFERTADOS&as_filtro_id=PRECIO_FIJO&as_display_type=G&noQCat=Y&as_qshow=3","r")
or die("Error reading data.");
while ($data = fread($fp, 4096))
xml_parse($xml_parser, $data, feof($fp))
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);
?></tr>
</table>
Gracias