Para lograr esto necesita leer el RSS del blog, desde el RSS necesita leer el Título y la descripción, después de leer la descripción completa y el título, necesita recortar la descripción al número deseado de letras. Después de eso, debe verificar si la descripción de la última palabra se completó o no, y luego debe eliminar la última palabra si no se completó y colocar el "...".
primer lugar vamos a hacer un script para recortar la descripción y de poner "..." en el pasado: -
<?php
global $text, $maxchar, $end;
function substrwords($text, $maxchar, $end='...') {
if (strlen($text) > $maxchar || $text == '') {
$words = preg_split('/\s/', $text);
$output = '';
$i = 0;
while (1) {
$length = strlen($output)+strlen($words[$i]);
if ($length > $maxchar) {
break;
}
else {
$output .= " " . $words[$i];
++$i;
}
}
$output .= $end;
}
else {
$output = $text;
}
return $output;
}
Ahora vamos a definir las variables en las que almacenamos los valores: -
$xml=("http://your-blog-path/rss/");
global $item_title, $item_link, $item_description;
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
$x=$xmlDoc->getElementsByTagName('item');
Ahora, crearemos una matriz y almacenaremos valores en ella. Solo tomo 3 porque lo has preguntado el camino. Puede cambiarlo a cualquier cosa (El número de mensaje que desea mostrar, puesto que en el bucle)
for ($i=0; $i<3; $i++)
{
$item_title[$i] = $x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
$item_link[$i] = $x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
$item_description[$i] = $x->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
}
?>
Ahora se hacen eco de todos estos valores, Link es el valor en el que el usuario haga clic y se le conducirá a tu blog: -
primer post reciente:
<a href="<?php echo $item_link[0]; ?>"><?php echo $item_title[0]; ?></a>
<?php echo substrwords($item_description[0],70); ?>
post reciente SEGUNDO:
<a href="<?php echo $item_link[1]; ?>"><?php echo $item_title[1]; ?></a>
<?php echo substrwords($item_description[1],70); ?>
TERCER PUENTE RECIENTE:
<a href="<?php echo $item_link[2]; ?>"><?php echo $item_title[2]; ?></a>
<?php echo substrwords($item_description[2],70); ?>
Espero que esto pueda resolver su problema. Por cierto Buena pregunta.
Para eso creo que deberías volver a abrir una pregunta ... –
Utilicé este código pero me aparece el siguiente error: "PHP Fatal error: llamada a una función miembro getElementsByTagName() en un objeto no asociado". La línea del problema es la primera línea del bucle for: $ item_title [$ i] = $ x-> item ($ i) -> getElementsByTagName ('title') -> item (0) -> childNodes-> item (0) -> nodeValue; – fullerm