D
darkterry
Gamma
No recomendado
hola amigos betas estube haciendo un sistema de tag cloud pero la verdad es que se me complico un poco los codigos.
quiero que desde mi abse de datos llame la cadena.
emjemplo:
videos gratis, juegos gratis, vicio gratis, videos mas, mas videos, asi lo tengo en mi db de un campo
ahora quiero que eso se muestre asi:
videos gratis juegos gratis vicio gratis videos mas mas videos.
hasta ahi lo eh logrado pero el problema es esto:
cuando hago la consulta me sale:
videos gratis juegos gratis vicio gratis videos mas mas videos
perfecto pero cada palabra se genera un enlace es decir
<a href="">videos</a> <a href="">gratis</a> <a href="">juegos</a>
y asi con todas las palabras y lo que yo quiero es que cada , se respete y se genere un enlace asi
<a href="">videos gratis</a> <a href="">juegos gratis</a> <a href="">vicio gratis</a>
espero me hayan entendido espero sus respuestas mil gracias por la ayuda.
aqui les dejo el codigo si es que es util para alguien asi como esta y si alguien me puede ayudar con esto seria genial gracias:
$raw_tag=explode(",", trim($row3['clave']));
for($kl=0;$kl<count($raw_tag);$kl++)
{
$strr=$raw_tag[$kl];
$strr=str_replace("*","",$strr);
$strr=str_replace("-","",$strr);
$strr=str_replace("(","",$strr);
$strr=str_replace(")","",$strr);
$strb=str_replace("","",$strr);
$strb=str_replace("ñ","n",$strr);
if(strlen($strb)>3)//word length to avoid listing words like "and" "of" etc
{
$tag_string.=$strr." ";
}
}
}
$tag_array=explode(" ", $tag_string);
$tag_array=array_unique($tag_array);
shuffle($tag_array);
echo "<div id=\"tagcloud\">";
$tplm=count($tag_array);
if(count($tag_array)>50)
{
$tplm=50;//I want to list only 200 words
}
// start looping through the tags
for ($ii=0;$ii<$tplm;$ii++)
{
$tags_array[$ii]=$tag_array[$ii];
}
sort($tags_array);
for ($ii=0;$ii<$tplm;$ii++)
{
// determine the popularity of this term as a percentage
$percent = rand(1,100);
// determine the class for this term based on the percentage
if ($percent < 40)
{
$class = 'smallest';
} elseif ($percent >= 20 and $percent < 40) {
$class = 'small';
} elseif ($percent >= 40 and $percent < 60) {
$class = 'medium';
} elseif ($percent >= 60 and $percent < 80) {
$class = 'large';
} else {
$class = 'largest';
}
// output this term
echo "<span class=\"$class\"><a href=\"search.php?query=" . urlencode($tags_array[$ii]) . "\">" . $tags_array[$ii] . "</a></span> ";
}
// close the output
echo "</div><p>";
quiero que desde mi abse de datos llame la cadena.
emjemplo:
videos gratis, juegos gratis, vicio gratis, videos mas, mas videos, asi lo tengo en mi db de un campo
ahora quiero que eso se muestre asi:
videos gratis juegos gratis vicio gratis videos mas mas videos.
hasta ahi lo eh logrado pero el problema es esto:
cuando hago la consulta me sale:
videos gratis juegos gratis vicio gratis videos mas mas videos
perfecto pero cada palabra se genera un enlace es decir
<a href="">videos</a> <a href="">gratis</a> <a href="">juegos</a>
y asi con todas las palabras y lo que yo quiero es que cada , se respete y se genere un enlace asi
<a href="">videos gratis</a> <a href="">juegos gratis</a> <a href="">vicio gratis</a>
espero me hayan entendido espero sus respuestas mil gracias por la ayuda.
aqui les dejo el codigo si es que es util para alguien asi como esta y si alguien me puede ayudar con esto seria genial gracias:
$raw_tag=explode(",", trim($row3['clave']));
for($kl=0;$kl<count($raw_tag);$kl++)
{
$strr=$raw_tag[$kl];
$strr=str_replace("*","",$strr);
$strr=str_replace("-","",$strr);
$strr=str_replace("(","",$strr);
$strr=str_replace(")","",$strr);
$strb=str_replace("","",$strr);
$strb=str_replace("ñ","n",$strr);
if(strlen($strb)>3)//word length to avoid listing words like "and" "of" etc
{
$tag_string.=$strr." ";
}
}
}
$tag_array=explode(" ", $tag_string);
$tag_array=array_unique($tag_array);
shuffle($tag_array);
echo "<div id=\"tagcloud\">";
$tplm=count($tag_array);
if(count($tag_array)>50)
{
$tplm=50;//I want to list only 200 words
}
// start looping through the tags
for ($ii=0;$ii<$tplm;$ii++)
{
$tags_array[$ii]=$tag_array[$ii];
}
sort($tags_array);
for ($ii=0;$ii<$tplm;$ii++)
{
// determine the popularity of this term as a percentage
$percent = rand(1,100);
// determine the class for this term based on the percentage
if ($percent < 40)
{
$class = 'smallest';
} elseif ($percent >= 20 and $percent < 40) {
$class = 'small';
} elseif ($percent >= 40 and $percent < 60) {
$class = 'medium';
} elseif ($percent >= 60 and $percent < 80) {
$class = 'large';
} else {
$class = 'largest';
}
// output this term
echo "<span class=\"$class\"><a href=\"search.php?query=" . urlencode($tags_array[$ii]) . "\">" . $tags_array[$ii] . "</a></span> ";
}
// close the output
echo "</div><p>";

