Salut !
J'ai installé un flux sur cette page mais certains caractères apparaissent en gris, illisibles...
Où dois aller changer ça ?
Le feedparser est on ne peut plus bête (piqué sur le web) et je ne suis pas assez futée pour le configurer, d'autant qu'à part le problème des caractères en gris, le reste me convient très bien...
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");
function FeedParser($url_feed, $nb_items_affiches=10)
{
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
// si la lecture s'est bien passee,
// on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items,
0, $nb_items_affiches);
// debut de la liste
// (vous pouvez indiquer un style CSS
// pour la formater)
$html = "<ul>\n";
// boucle sur tous les elements
foreach ($items as $item)
{
$html .= "<li>";
$html .= "<a href=\"".$item['link']."\">";
$html .= $item['title']."</a></li>\n";
$html .=$item['description']."<br>";
}
$html .= "</ul>\n";
}
// retourne le code HTML a inclure dans la page
return $html;
}
?>Hors ligne
Il semblerait qu'il y ait un conflit de CSS...![]()
Alain AKA Arma
Hors ligne
C'est en gris sur un autre site où je l'ai mis aussi, mais sur fond blanc c'est lisible...
ici
Et si on regarde le source, il y a bien cette foutue couleur grise de précisée, mais je ne sais pas d'où elle sort.
Extrait du source :
<b>Musique classique</b> - Un Barbier décoiffant!</a><br><font size=-1><font color=#6f6f6f>Le Devoir (Abonnement) -</font>
Hors ligne
Cela ne semble pas venir du parser...
Il y a quelque chose dans ton CSS qui l'impose...
Il n'y a que toi qui peut trouver !![]()
Alain AKA Arma
Hors ligne
Fais une recherche sur "6f6f6f" dans tes sources de CSS, dans tout le site !
Il est bien quelque part...
Hors ligne
Non non, il est nulle part, j'ai bien cherché, il n'est nullement question d'utiliser cette couleur sur ce site, ça n'irait pas du tout d'ailleurs car on ne la voit pas. Mais en fait, j'ai vu avec Jit, car j'ai piqué le flux sur son site (Floobby) : ça vient de Gg, et lui meme voudrait bien le changer, donc il est en train de s'en occuper. Quand j'aurai la solution, je vous ferai signe.
Hors ligne
Jits a modifié le feedparser, car la couleur grise vient bien de google. Tout va bien, il fallait mettre :
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");
function FeedParser($url_feed, $nb_items_affiches=10)
{
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
// si la lecture s'est bien passee,
// on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items,
0, $nb_items_affiches);
// boucle sur tous les elements
foreach ($items as $item)
$html = str_replace ("#6f6f6f","#8B2E23",$html);//remplace la couleur
$html = str_replace ("<a ","<a target=\"blank\" ",$html);//pour envoyer la news vers une nouvelle fenetre ;)
}
// retourne le code HTML a inclure dans la page
return $html;
}
?>Hors ligne
Bonjour à tous...
Une autre astuce pour ceux qui veulent afficher un flux de chez Gg
Et veulent un site valide XHTML stricte !
Gg dans ces adresses de news place des " & " et il faudrai des "&"
Voici mon code avec les modif en rouge
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");
function FeedParser($url_feed, $nb_items_affiches=10)
{
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
$html= ''; // ********************* modif du 13 02 2007 initialise la variable $html
$mq = array("&"); // ************** modif du 07 09 2007
$ok_mq = array("&"); // ******* modif du 07 09 2007
// si la lecture s'est bien passee,
// on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items,
0, $nb_items_affiches);
// debut de la liste
// (vous pouvez indiquer un style CSS
// pour la formater)
$html = "<ul>\n";
// boucle sur tous les elements
foreach ($items as $item)
{
$html .= "<li>";
$item['link'] = str_replace($mq, $ok_mq, $item['link']); // ************** modif du 07 09 2007
$html .= "<a href=\"".$item['link']."\">";
$html .= $item['title']."</a></li>\n";
}
$html .= "</ul>\n";
}
// retourne le code HTML a inclure dans la page
return $html;
}
?>Et voila... Une page qui reste valide W3C xhtml 1 strict ! ![]()
Olivier
Hors ligne
Oui, pas mal...
Dois-je inclure ces MODS dans le script de l'annuaire ?
Si oui, puis-je remplacer la couleur (8B2E23) par $bg_color
Ainsi, ce sera adapté automatiquement à chaque template.![]()
Alain AKA Arma
PS : Cela donnerait
<?php
// inclusion de la classe magpierss
require_once($_SERVER['DOCUMENT_ROOT'].$racine_annuaire.'/rss/magpierss/rss_fetch.inc');
function FeedParser($url_feed, $nb_items_affiches = 10, $maxchars = 80, $follow = TRUE)
{
global $lang,$bg_color;
// Follow or nofollow
if (!$follow) $str_follow = ' rel="nofollow"';
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
// si la lecture s'est bien passee, on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items, 0, $nb_items_affiches);
$mq = array("&");
$ok_mq = array("&");
// debut de la liste
// (vous pouvez indiquer un style CSS pour la formater)
$html = "\n";
// boucle sur tous les elements
foreach ($items as $item)
{
if (!strstr($item['link'],'&')) $item['link'] = str_replace($mq, $ok_mq, $item['link']);
if(strlen($item['title']) > $maxchars) $item['title'] = substr(ucfirst(strtolower($item['title'])),0,$maxchars - 3).'...';
$html .= "\t".'<strong><small>o</small></strong> <a href="'.$item['link'].'" target="_blank"'.$str_follow.'>'.$item['title'].'</a><br />'."\n";
}
$html = str_replace('6f6f6f',$bg_color,$html);
}
if (!$rss) $html = "\n\t".'<small>OOPS...<br />'.(($lang == 'fr') ? 'Erreur XML...' : 'XML Error...').'</small><br />'."\n";
// retourne le code HTML a inclure dans la page
return $html;
}
?>Hors ligne
Une chose à savoir sur les flux RSS : les tags non reconnus sont ignorés avec leur contenu du fait qu'ils ne sont pas standards.
Cela n'interdit pas d'en utiliser! Il suffit que ton parser de RSS sache les relire en lecture!
C'est ainsi que tu peux réaliser un flux de vignettes de photos, avec des liens vers des pages : Les vignettes ne sont pas supportées par le flux RSS qui les ignore (IE ou FireFox), mais les pages de mon site savent les relire. Exemple : la page d'accueil du site http://www.tout-fait-main.fr.
Hors ligne
Un flux rss qui ne contient pas que des balises rss, n'est plus du rss (selon le schema) ... C'est dans ce cas un flux xml...
Donc un parser universel (lib simplexml php5 par exemple) viendra à bout de n'importe quel flux,
J'en avais programmé un en python qui est capable d'analyser et de lire n'importe quel format que la feuille soit bien formée ou non...
+ de 3000 modèles en mémoire.
en bas de la page, il s'agit de tests que j'avais fait sur ovh, pour tester python sur leur hebergement...
Donc rien de vraiment intéressant si ce n'est le parser...
Bon j'avoue un petit coup de frime là (et info en même temps)...
Mais si je ne me le permet pas, alors qui peut se le permettre ?
Hors ligne
Oui, c'est plutôt bien...
Je crois que tu me l'avais déjà montré il y a quelque temps...
Justement pour les tests sur les RSS de ce Forum.![]()
Alain AKA Arma
Hors ligne
Oui ces tests ont au moins deux ans... ça ne nous rajeuni pas...
on a tous des T@rlouzeries qui trainent à droite à gauche et qu'on oublie... Ensuite j'ai laissé python de côté et j'ai plutôt utilisé XSL (T) qui m'a permis beaucoup plus de souplesse et surtout m'a permis de trouver des solutions pour des cas extrêmes ou il fallait parser 300 flux (catalogue complet) tous différents dans leur conception et noms de balise... Résultat une sortie trés propre et valide obligatoirement.
En fait, XSL(T) est la solution lorsqu'il s'agit de parser n'importe quel flux, quelque soit sa nature.
Hors ligne
Tiens, Eric, puis que nous aimons bien le Troll et changer de sujet dans les Topics...
Peux-tu me dire pourquoi cet "en... é" de MySQL me répond :
Erreur
Requête SQL:
UPDATE sites SET url = SUBSTR(
url,
[X] 1,
LENGTH(url) -1
) WHERE url LIKE '%/';
MySQL a répondu:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(url,1,LENGTH(url)-1) WHERE url LIKE '%/'' at line 1
Pour la requête :
UPDATE sites SET url = SUBSTR(url,1,LENGTH(url)-1) WHERE url LIKE '%/';
Saloperie de MySQL !
![]()
Alain AKA Arma
Hors ligne
Pas le temps, mais il me semble que pour Mysql c'est : SUBSTRING
Et non pas SUBSTR...
Quelle version utilises tu ?
De plus j'ai des doutes sur '%/' (il n' y a pas d'erreur ici) mais est ce bien compréhensible pour mysql (n'importe quel nombre de caractère se terminant par /)
Hors ligne
Non, c'est bien SUBSTR (SQL est normalisé) et %/ est bien compris comme n'importe quelle chaine suivie de /
J'obtiens bien les résultats espérés avec :
SELECT url FROM sites WHERE url LIKE '%/'
Je pense que le PB vient du :
LENGTH(url) - 1
Zarbi !
![]()
Alain AKA Arma
PS : Le SQL est bien normalisé en ce qui concerne les fonctions de base (dont font partie SUBSTR et LENGTH).
Certains SQL peuvent avoir des fonctions supplémentaires...
PPS : MySQL renvoit bien une erreur si on utilise SUBSTRING.
[Vous devez être identifié pour voir le texte caché.]
Hors ligne
C'est bizarre ce que tu me dis (comme d'hab...) dans la doc on voit bien SUBSTRING et non substr (php) ...
http://dev.mysql.com/doc/refman/5.0/fr/ … tions.html (en bas de page) ...
Essaies MID qui est un synonyme...
[Vous devez être identifié pour voir le texte caché.]
Essaies tout de même avec MID
Hors ligne
Eh eh eh eh eh...
[Vous devez être identifié pour voir le texte caché.]
Mais le PB n'est pas vraiment là...
Il est que cela devrait marcher et que ça plante !
Et je ne sais pas si MID est dans cette version... J'essaierai plus tard avec...![]()
Alain AKA Arma
PS : S'il y avait le COBOL, je me démerderai facile pour faire cette requête sur ce fichier ISAM ! ![]()
Hors ligne
SUBSTR() is a synonym for SUBSTRING(). It was added in MySQL 4.1.1. ++
Grand dadet !... Cela n'existait pas.
J'ai toujours raison
... Attention l'offset retourné (SUBSTRING) commence à 1.
Hors ligne
Consulte donc la VRAIE DOC de SQL...
J'en ai une qui date de 1980 et SUBSTR est dedans. Mais pas SUBSTRING !
Mais c'est vrai que tu ne peux pas le savoir... Tu n'étais pas né !
Alain AKA Arma
PS : Tu veux dire que l'offset de SUBSTR commence à 1... Merci, je le savais, c'est écrit dans ma DOC !
PPS : Petite précision supplémentaire... C'est SUBSTRING qui a été implémenté à partir de la V4 de MySQL !
Pour preuve : SUBSTRING renvoit une méchante erreur en V3.x de MySQL (l'ai déjà dit plus haut...
...) !
Hors ligne
Après avoir fait un affreux amalgame entre Java et Javascript qui n'ont rien à voir...
Voilà qu'il se met à mélanger SQL et MySql...
http://dev.mysql.com/doc/refman/4.1/en/ … ion_substr
Jusqu'où s'arrêtera t-il !
[Vous devez être identifié pour voir le texte caché.]
Hors ligne
Arrête !
Ton arbre n'a presque plus de branches...
D'après toi, MySQL ne serait pas un Moteur SQL ? Alors pourquoi MySQL ?
Alain AKA Arma
PS : Et pire... SELECT, FROM, WHERE, LIKE... Ce n'est peut-être pas du SQL non plus...
...
ORACLE et INFORMIX, cela te dis quelque chose ? Ah non, j'oubliais... Tu n'étais pas né ! ![]()
Hors ligne
Mysql est une vulgarisation de SQL (le pendant open source à MS SQL), ce qui veut dire qu'il n'en emploiera pas obligatoirement toute la syntaxe... Voir peut un créer une nouvelle... Ou modifier en partie celle existante...
Si Mysql était SQL, on n'utiliserais pas Mysql mais SQL... Non ? (en tous les cas sous windows)
Tout comme dans PHP tu ne retrouveras pas tout le C etc...
Nom de diou...
Hors ligne
Non, ce que tu dis est faux (comme d'habitude). Tu mélanges puis inverses tout !
Et puis d'abord, ce sujet ne m'intéresse pas... C'était juste pour te faire écrire des âneries...
...
![]()
Alain AKA Arma
PS : Je te verrais bien inventer le "Tri Aléatoire"... ![]()
PPS : Oui, je sais... Je suis "c*n"... Mais c*n, c'est quand on le fait exprès ! ![]()
PPPS : Le JavaScript, c'est du Java (simplifié) interprêté, à l'usage des Navigateurs...
Mais comme il n'a rien à voir avec le Java... C'est probablement du SQL...
![]()
Hors ligne
Bon essaies MID à la place de substr au lieu d'écrire des âneries.
Hors ligne
|
© 2006-2012 / A. G.☺ CiGi€M@®, 1997-2012 |
|
Reproduction totale ou partielle strictement interdite |