Nettoyer une chaine de caractère
18 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Nettoyer une chaine de caractère
Bonjour,
Je sais que la question est courante mais je ne trouve pas, faute de connaissance des mots-clés...
La question : comment "nettoyer" des chaines de caractères pour les insérer sans souci dans les URL ?
(Virer espaces, accents et autres).
Merci d'avance,
Michaël
Je sais que la question est courante mais je ne trouve pas, faute de connaissance des mots-clés...
La question : comment "nettoyer" des chaines de caractères pour les insérer sans souci dans les URL ?
(Virer espaces, accents et autres).
Merci d'avance,
Michaël
Salut,
Ben moi j'ai recup cette fonction il y a un moment, et elle fonctionne correctement :
Ben moi j'ai recup cette fonction il y a un moment, et elle fonctionne correctement :
- Code: Tout sélectionner
function viremerde($text)
{
// Définition du séparateur
$separator = "-";
$tofind = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ"; // Lettre accentuées
$replac = "aaaaaaooooooeeeeciiiiuuuuyn"; // Equivalent non accentué
// Mise en minuscule + suppression des lettres accentuées par leur équivalent non accentué
$text = strtr(strtolower($text),$tofind,$replac);
// Remplacement de caractère non alphanumérique par un séparateur
$text = ereg_replace("[^a-z0-9.]", $separator, $text);
// Suppression des doubles séparateurs
while (strstr($text, $separator . $separator))
$text = str_replace($separator . $separator, $separator, $text);
// Suppression du 1er caracterere s'il est egal au separateur
if (substr($text, 0, 1) == $separator)
$text = substr($text, 1);
// Retour avec suppression d’un possible séparateur en fin de chaîne
return(ereg_replace($separator . "$", "", $text));
}
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
string rawurlencode ( string $str )
Encode la chaîne fournie, en accord avec la » RFC 1738 (manuel PHP).
Encode la chaîne fournie, en accord avec la » RFC 1738 (manuel PHP).
Celle-ci gère plus d'accents :
Elle provient de DotClear :
https://svn.dotclear.net/1.0/trunk/inc/ ... s.blog.php
- Code: Tout sélectionner
function str2url($str)
{
if ($this->encoding == 'UTF-8') {
$str = $this->removeEntities(utf8_decode($str));
} else {
$str = $this->removeEntities($str);
}
$str = strtr($str,
"ÀÁÂÃÄÅàáâãäåÇçÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûü¾ÝÿýÑñ",
"AAAAAAaaaaaaCcOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuYYyyNn");
$str = str_replace('Æ','AE',$str);
$str = str_replace('æ','ae',$str);
$str = str_replace('¼','OE',$str);
$str = str_replace('½','oe',$str);
$str = preg_replace('/[^a-z0-9_\s\'\:\/\[\]-]/','',strtolower($str));
$str = preg_replace('/[\s\'\:\/\[\]-]+/',' ',trim($str));
$res = str_replace(' ','-',$str);
return $res;
}
Elle provient de DotClear :
https://svn.dotclear.net/1.0/trunk/inc/ ... s.blog.php
("function viremerde"
)
J'utilise une fonction similaire à celle de bgdc mais j'ai ceci :
Le preg_replace est-il différent du ereg_replace("[^a-z0-9.] ? Lequel filtre le plus ?
J'utilise une fonction similaire à celle de bgdc mais j'ai ceci :
- Code: Tout sélectionner
$title = strtr($title, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ -'/", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn----");
$title = preg_replace('|\W|', '-', $title);
Le preg_replace est-il différent du ereg_replace("[^a-z0-9.] ? Lequel filtre le plus ?
-

Audiofeeline - WRInaute accro

- Messages: 5178
- Inscription: Jeu Oct 20, 2005 19:47
Ca serait bien qu'ils ajoutent une fonction toute faite dans la prochaine version de PHP...
-

Audiofeeline - WRInaute accro

- Messages: 5178
- Inscription: Jeu Oct 20, 2005 19:47
Oui bien sur mais je parle des caractères de base déjà, ceux qui son sur ton clavier Européen !
Ce bout de code est utilisé régulièrement tout de même ?
M'enfin, c'était une idée comme ça...
Ce bout de code est utilisé régulièrement tout de même ?
M'enfin, c'était une idée comme ça...
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
Audiofeeline a écrit:Ca serait bien qu'ils ajoutent une fonction toute faite dans la prochaine version de PHP...
Qu'est-ce que vous reprochez à rawurlencode?
TEST:
<?php
$str= "ÀÁÂÃÄÅàáâãäåÇçÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûü¾ÝÿýÑñ" .
"AAAAAAaaaaaaCcOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuYYyyNnƼ½";
$url = rawurlencode ( $str );
echo $url . "\n";
?>
-

Audiofeeline - WRInaute accro

- Messages: 5178
- Inscription: Jeu Oct 20, 2005 19:47
Ah! je connaissais pas !
Merci du tuyau !
Merci du tuyau !
Voila ce que j'utilise.
Ca vient de phpbb seo à la base, j'ai modifié un tout petit truc pour qu'il soit compatible pour moi
C'est propre et rapide
Ca vient de phpbb seo à la base, j'ai modifié un tout petit truc pour qu'il soit compatible pour moi
- Code: Tout sélectionner
function format_url( $url, $type = '' ){
$url = preg_replace("`\[.*\]`U","",$url);
$url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$url);
$url = htmlentities($url, ENT_COMPAT);
$url = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i","\\1", $url );
$url = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $url);
$url = ( $url == "" ) ? $type : strtolower(trim($url, '-'));
return $url;
}
C'est propre et rapide
18 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Liste complète des paramètres utilisés par Google Search (variables dans l'URL)
- Robots.txt : Yahoo supporte les options avancées
- Google Sitemap Generator version 1.3
- Conseils d'optimisation de la balise TITLE (titre d'une page HTML)
- Le début du full crawl
- Google Sets
- Google achète l'ile GoGooroa
- Référencement : TrustRank et sites dignes de confiance
- Publicité contextuelle Yahoo YPN (Yahoo! Publisher Network)
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- detection de chaine de caractère
- rewriting d'un nombre en chaine de caractère
- Contrôle d'une chaine de caractère en PHP ?
- convertir un nombre numerique en chaine de caractere
- Remplacé le premier caractère d'une chaine
- Php fonction sur chaine de caractere
- extraire variable indépendant dans chaine de caractere
- détecté un espace dans une chaine de caractere
- recherche une fonction php pour chaine de caractere ! help:s
- Chaine php : isoler une phrase entre 2 caractère [ et ]
- comment savoir si le denier caractère d'une chaine est - ?
- Outil pour trouver duplicate content sur chaine de caractère
- Compter le nombre de caractère dans une chaine ? oui mais...
- convertir la chaine '\n' en caractère "\n"
- [php] enlever une partie de chaine d'une chaine complete
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités










le forum