1Besoin
Je suis en train de developper un squelette spip en 3 colones pour les articles et l’insertion d’images trop grandes à l’interieure de ceux ci faisait un peut eclater ma maquette. Je suis donc tombé sur le filtre redimlogo qui essayait de donner une taille addapté à un logo. Mais les images à l’intérieure de l’article ne sont pas attégnables. Il restait 2 choix : modifier l’interpreteur spip pour qu’il applique redimlogo dans les articles rester le plus compatible avec les versions à vernir de spip et ne pas modifier le code —> ecrire un filtre pour faire ce que je voulais.
une ancre vers là bas
2Filtre
le filtre nescessite donc la presence de redimlogo dans mes_fonctions.php3.
<?php
/*
* +----------------------------------+
* Nom du Filtre : limit_images_size
* +----------------------------------+
* Date : 21 septembre 2003
* Auteur : Mortimer Porte (mortimer(dot)porte(at)urbanet(dot)ch)
* +-------------------------------------+
* Fonctions de ce filtre :
* redimensionne si nescessaire les images incluses dans le texte d'un article.
* param1: largeur maximale (>0, sinon ignorée)
* param2: hauteur maximale (>0, sinon ignorée)
* [param3: insérer un lien sur l'image]
* Exemple d'application :
* [(#TEXTE|limit_images_size{400,0,1})]
* +-------------------------------------+
*
* Pour toute suggestion, remarque, proposition d'ajout
* reportez-vous au forum de l'article :
* http://www.uzine.net/spip_contrib/article.php3?id_article=251
*/
function limit_images_size($string, $largeur_maxi=0, $hauteur_maxi=0, $with_link=0) {
$reg = "/<code><img src='IMG\/([^']+)'.+alt=(.+) title=([^>]+)>
/";
preg_match_all ($reg, $string, $matches);
$to_return = $string;
for ($i=0; $i< count($matches[0]); $i++) $img = $matches[1][$i]; $alt = $matches[2][$i]; $title = $matches[3][$i]; $size = redimlogo ($img, $largeur_maxi, $hauteur_maxi);
$before = ""; $after = "";
if($with_link)
$before = "<a href='IMG/".$img."'>";
$after = "</a>";
$to_return = preg_replace("<".$matches[0][$i].">",
$before."<img src='IMG/".$img."' ".$size." alt=".$alt." title=".$title." >".$after,
$to_return,1);
return $to_return; // FIN du Filtre limit_images_size ?>
il prend au maximum 3 paramétres :
- la largeur maximale (idem redimlogo : >0 sinon ignorée)
- la hauteur maximale (idem)
- si l’on veut ajouter un lien sur l’image.
3Utilisation
on l’utilisera donc de la façon suivante : [(#TEXTE|limit_images_size{400,0,1})]
le dernier paramétre permet de specifier si on veut un lien sur l’image. en effet si l’on redimensionne l’image, elle peut resortir "faussé", on peut donc voiloir inserer un lien qui ouvre l’image à taille réelle.
du code java:
du code HTML:
et maintenant du scheme:
(module compte-bon
(main entre))
(define (entre args)
(display "Entre un nombre : ")
(let ((n (read)))
(display "Entre une liste de nombres")
(display " en ordre croissant : ")
(let ((L (read)))
(print (compte-bon n L)))))
4une collection de smileys
blbabalba
:-> :-(
;-o


a
a





o:) Tiens dans la preview on voit aussi les symboles et au final ?
pour voir les smileys
(enfin... parfois, parce que ça ne le fait pas à tous les coups...


