Script replace pour gérer les é, è (et autres) vers des lettres "classiques"
2 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Script replace pour gérer les é, è (et autres) vers des lettres "classiques"
Détails techniques
Version du forum : phpBB3
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox, Google Chrome, Internet Explorer, Opera, Safari
Capture d'écran du problème :
- Voir l'image:
Personnes concernées par le problème : Tous les utilisateurs connectés
Problème apparu depuis : le 22 novembre 2022
Lien du forum : https://bic-test.forumactif.com
Description du problème
Bonjour !Je viens demander de l'aide ce jour car je note qu'après l'import de ma font-face, celle-ci ne gère pas les caractères spéciaux "français" (globalement les é, è, à, ô etc). Sachant très bien que c'est une possibilité, j'ai cherché, étant donné qu'il s'agit de mon secondarytitle (donc changement des forumlink vers des secondarytitle lors du clic sur les sous forums) j'ai cherché à remplacer, non pas manuellement, mais avec un script ces caractères spéciaux. N'étant réellement pas douée avec les regex, j'ai tenté d'utiliser les scripts JS de replace proposés pour le QEEL (en changeant le getElementById vers un getElementsByClassName), mais rien n'y fait. J'ai donc essayé de trouver d'autres solutions, notamment avec l'utilisation de fonctions et autres au travers de JS natif et jQuery... Malheureusement, je ne trouve pas solution à mon problème car il semble que mes tentatives ne mènent à rien...
Je vous laisse les scripts utilisés ci-dessous, si jamais quelqu'un sait me dire où j'ai loupé quelque chose
Tentative / Script 1
- Code:
.innerHTML=document.getElementsByClassName('secondarytitle').innerHTML.replace(/é/,"e");
.innerHTML=document.getElementsByClassName('secondarytitle').innerHTML.replace(/è/,"e");
- Code:
$(function(){$(function(){
const element = $(".secondarytitle");
const textToReplace = element.text();
const newText = textToReplace.replace("é", "e");
element.text(newText);
})});
- Code:
let changeText = (e) => {
const element = $(".secondarytitle");
const textToReplace = element.text();
const newText = textToReplace.replace("é", "e");
element.text(newText);
};
$(document).on('load', changeText);
Et la partie de mon template concerné par cette modification :
- Code:
<!-- BEGIN tablehead --><div class="CATglobal"><div class="catrow_container"><table class="fond" width="100%" border="0" cellspacing="7" cellpadding="5" id="categories">
<tr><td><div class="secondarytitle" >{catrow.tablehead.L_FORUM}</div></td></tr>
<!-- END tablehead -->
Je me doute que ma demande est possible, mais est-il possible de la réaliser sans avoir à ajouter d'id dans mon html ?
Je vous remercie d'avance pour vos réponses et votre aide. Bonne journée à vous
Re: Script replace pour gérer les é, è (et autres) vers des lettres "classiques"
Bonjour !
C'est un peu plus compliqué que ça dans la logique, plus facile dans le code.
Il faut faire une boucle sur tous les .secondarytitle pour remplacer à chaque fois dans leur texte le é par e.
La boucle est important, parce que sinon, on parle de tous les éléments en même temps... c'est pour ça que dans votre tentative Script 2, on a tous les textes qui apparaissent.
Et dernière petite chose, on utilisera replaceAll plutôt que replace, parce que ce dernier ne remplace le caractère trouvé qu'une seule fois.
Du coup, ce petit code devrait faire l'affaire :
C'est un peu plus compliqué que ça dans la logique, plus facile dans le code.
Il faut faire une boucle sur tous les .secondarytitle pour remplacer à chaque fois dans leur texte le é par e.
La boucle est important, parce que sinon, on parle de tous les éléments en même temps... c'est pour ça que dans votre tentative Script 2, on a tous les textes qui apparaissent.
Et dernière petite chose, on utilisera replaceAll plutôt que replace, parce que ce dernier ne remplace le caractère trouvé qu'une seule fois.
Du coup, ce petit code devrait faire l'affaire :
- Code:
$(function(){
$(".secondarytitle").each(function(){
$(this).html($(this).html().replaceAll("é", "e"));
$(this).html($(this).html().replaceAll("è", "e"));
});
});
Re: Script replace pour gérer les é, è (et autres) vers des lettres "classiques"
C'était tellement évident... à vouloir à tout prix penser css j'en ai oublié qu'il y avait la possibilité de boucler
Merci beaucoup pour votre précieuse aide et votre réponse rapide, ça fonctionne parfaitement ! Je mets donc en résolu
Merci beaucoup pour votre précieuse aide et votre réponse rapide, ça fonctionne parfaitement ! Je mets donc en résolu
Sujets similaires
» Gérer mes sauvegarde de java script ?
» Transfer des messages d'un forum vers un autres
» Interdire les liens vers d'autres sites.
» Liens vers d'autres sites, est ce bien normal?
» Moudules / widget Liens vers autres site
» Transfer des messages d'un forum vers un autres
» Interdire les liens vers d'autres sites.
» Liens vers d'autres sites, est ce bien normal?
» Moudules / widget Liens vers autres site
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum