From fdbc0d2c6366019249d19ed387df877eda90b320 Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 26 Aug 2025 02:16:55 +0200 Subject: =?UTF-8?q?caract=C3=A8res=20accentu=C3=A9s=20conserv=C3=A9s=20san?= =?UTF-8?q?s=20accent=20dans=20les=20noms=20de=20page=20en=20snake=20case?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/modif_page.js | 10 ++++++---- public/js/new_page.js | 10 ++++++---- src/view/NewsBlockBuilder.php | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/public/js/modif_page.js b/public/js/modif_page.js index 8ff26c1..b307f69 100644 --- a/public/js/modif_page.js +++ b/public/js/modif_page.js @@ -4,10 +4,12 @@ function makePageNamePath(){ const page_name = document.getElementById("page_name"); const page_name_path = document.getElementById("page_name_path"); - page_name_path.value = page_name.value.replace(/\W+/g, " ").trim().toLowerCase().split(' ').join('_'); - - /* explication de l'expression régulière - / = début et fin, \W+ = lettres et chiffres, g = global */ + + page_name_path.value = page_name.value + .normalize("NFD") // décompose lettres + accents: é devient "e + accent aigu" + .replace(/[\u0300-\u036f]/g, "") // supprime les accents + .replace(/[^a-zA-Z0-9]+/g, " ") // supprime tout ce qu'il n'est pas alphanuméric + .trim().toLowerCase().replaceAll(" ", "_"); } diff --git a/public/js/new_page.js b/public/js/new_page.js index 7cfa5b8..5b1c5c5 100644 --- a/public/js/new_page.js +++ b/public/js/new_page.js @@ -4,10 +4,12 @@ function makePageNamePath(){ const page_name = document.getElementById("page_name"); const page_name_path = document.getElementById("page_name_path"); - page_name_path.value = page_name.value.replace(/\W+/g, " ").trim().toLowerCase().split(' ').join('_'); - - /* explication de l'expression régulière - / = début et fin, \W+ = lettres et chiffres, g = global */ + + page_name_path.value = page_name.value + .normalize("NFD") // décompose lettres + accents: é devient "e + accent aigu" + .replace(/[\u0300-\u036f]/g, "") // supprime les accents + .replace(/[^a-zA-Z0-9]+/g, " ") // supprime tout ce qu'il n'est pas alphanuméric + .trim().toLowerCase().replaceAll(" ", "_"); } diff --git a/src/view/NewsBlockBuilder.php b/src/view/NewsBlockBuilder.php index eebeadb..e449c7a 100644 --- a/src/view/NewsBlockBuilder.php +++ b/src/view/NewsBlockBuilder.php @@ -35,7 +35,7 @@ class NewsBlockBuilder extends AbstractBuilder $share_button = ''; - $new_button = '

'; + $new_button = '

'; $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; $modify_article = '' . "\n"; -- cgit v1.2.3