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 "
$CONTENT = preg_replace_callback('/^(!+?)(.*)$/Um', "name_title", $CONTENT);
# Modifier la CSS...
Posté par Christophe --- . Évalué à 2.
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 Nerdiland de Fesseps . Évalué à 2.
Merci pour le coup de pouce !
[^] # Re: Modifier la CSS...
Posté par Nerdiland de Fesseps . Évalué à 2.
[^] # Re: Modifier la CSS...
Posté par Christophe --- . Évalué à 1.
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 Nerdiland de Fesseps . Évalué à 3.
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.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.