Retourner aux forums || Retourner au forum Programmation.php

Programmation.php : Aide sur la modification d'une fonction

Posté par MilkaJinka () le 06 juin 2008
0
Bonjour,

J'utilise WiKiss, et j'aimerais changer le résultat du remplacement des balises wiki des titres par leur équivalent HTML. Les séquences !, !! et !!! suivies d'un texte sont remplacées par h1, h2 et h3, et je voudrais que ce soit par h3, h4 et h5. Je ne suis abouti à rien de concluant... Un connaisseur de PHP saura-t-il m'aider ?

Le bout de code en question :
function name_title($matches) // replace titles
{global $titres;$titres[]=array(strlen($matches[1]),preg_replace("/[^\da-z]/i","_",$matches[2]),$matches[2]);$i=count($titres)-1;return "".$titres[$i][2]."";}
$CONTENT = preg_replace_callback('/^(!+?)(.*)$/Um', "name_title", $CONTENT);

--
Persiste.
> Lire le message (5 commentaires, moyenne: 2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Modifier la CSS...

Posté par Christophe --- () le 06/06/2008 à 19:59. (lien). Évalué à 2.

...c'est bien aussi :)

Bonjour,

normalement, tu peux modifier la CSS pour qu'ils apparaissent comme tu veux, c'est plus portable car sinon tu est en trai de faire un fork, ce qui ne simplifiera pas les mises à jour.

Sinon, sans être expert PHP, je pense qu'il faut que tu remplaces la commande:

return "<h".$titres[$i][0]."><a...

par:

return "<h". ($titres[$i][0] + 2) ."><a...

mais peut-être faut-il ajouter une conversion explicite int -> string après l'addition?

  • [^]Re: Modifier la CSS...

    Posté par MilkaJinka () le 06/06/2008 à 21:00. (lien). Évalué à 2.

    Super, ça marche parfaitement. Vu l'ampleur du "fork", je suis pret à le maintenir ;-)
    Merci pour le coup de pouce !

    --
    Persiste.
  • [^]Re: Modifier la CSS...

    Posté par MilkaJinka () le 06/06/2008 à 21:05. (lien). Évalué à 2.

    PS : modifier la CSS n'y ferait rien, c'est un problème de structure. Si on compte le titre du site (h1) et le titre de la page (h2), il ne me resterait alors plus qu'un niveau de titre pour le contenu, à moins de briser la sémantique et de mélanger allègrement les niveaux.

    --
    Persiste.
    • [^]Re: Modifier la CSS...

      Posté par Christophe --- () le 06/06/2008 à 22:29. (lien). Évalué à 1.

      Je viens de jeter un oeil à la norme, il y à par défaut 6 niveaux, c'est déjà pas mal ?

      Sinon, une méthode serait d'utiliser les classes: pour tes titres, tu peux faire <h1 class="titre">, et dans la CSS:
      titre h1 { ... }

      • [^]Re: Modifier la CSS...

        Posté par MilkaJinka () le 07/06/2008 à 01:04. (lien). Évalué à 3.

        Oui mais... WiKiss ne donne accès qu'à 3 niveaux de titres, et dans mon template HTML j'utilise déjà les deux premiers niveaux d'une façon qui ne permet pas d'avoir d'autres h1 et h2 qui traînent.

        Après c'est sûr, tu peux maquiller le forfait avec une classe CSS, mais va donc faire comprendre ça à un robot, un lecteur d'écran, ou tout simplement à un navigateur qui ne prend pas en charge les CSS. J'utilise Links2 de temps en temps, et on voit tout de suite la différence entre un site bien construit sémantiquement et un site mal fichu.

        --
        Persiste.

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.php