High-Tech
Santé-Médecine
Droit-Finances
CodeS-SourceS
Inscription
Plan
Connexion
Rechercher un code, un tuto, une réponse
Accueil
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Tous les langages
Delphi / Pascal
Java
Python
SQL
RegEx
Flash
ASM
IRC
Graphisme
PDA
ColdFusion
Foxpro
Flex
Visual Basic / VB.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
PHP
Forum
Tutoriels
Codes Sources
Snippets
Top membres
C/C++/C++.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Javascript
Forum
Tutoriels
Codes Sources
Snippets
Top membres
C#/.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
ASP/ASP.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Accueil
Connexion
Déposer un code
Code
Recherche
Haut
Forum
Commentaires sur une source
Sujet Précédent
Sujet Suivant
RACCOURCIR UNE CHAINE AVEC UN SÉPARATEUR AU MILIEU
FhX
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
- 25 oct. 2005 à 23:19
cs_garfield90
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009
-
26 oct. 2005 à 09:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
https://codes-sources.commentcamarche.net/source/34345-raccourcir-une-chaine-avec-un-separateur-au-milieu
cs_garfield90
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009
26 oct. 2005 à 09:37
perso, je ferai ca par une expression regulière :
shortenString($string, $max,$rempl){
$len = strlen($string);
if ( $len > $max ){
return preg_replace('#(.{15})(.*)(.{10})#','$1'.$rempl.'$2',$str);
}
}
a tester, perso je trouve ca plus simple et plus propre
ttestt123123
Messages postés
3
Date d'inscription
vendredi 29 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2005
26 oct. 2005 à 08:34
Euhhh, tu te prends pas un peu la tête pour rien là ?
Ca serait pas plus simple de tester si la chaine n'est pas déjà aussi longue que max, et sinon :
1- déterminer le nombre de caractères à droite/gauche (nb)
2- chaine de retour = substr du début (nb) + séparateur + substr de fin (nb)
avec séparateur en dur, ne connaissant eprsonnellement pas d'autre caractère connu pour signifier "etc" dans une phrase, à part peut-être "[...]"
Ton code est beaucoup trop long pour si peu
cs_MATHIS49
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010
1
25 oct. 2005 à 23:32
sympa ;) j'aime bien ces petits bouts de code bien utiles ;) 7/10
FhX
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
25 oct. 2005 à 23:19
Pas mal du tout :)
Votre réponse
Discussions similaires
decouper des chaine de caractéres qui sot séparés par des virgules
koukou6311
-
8 mai 2008 à 00:24
koukou6311
-
9 mai 2008 à 23:44
Découper une chaine de caractères en fonction d'un séparateur
cs_julien20vt
-
11 févr. 2004 à 15:02
julien20vt
-
12 févr. 2004 à 09:11
Découpe une chaine de caractère suivant un séparateur donné
cs_ousin
-
14 avril 2007 à 19:19
SAKingdom
-
14 avril 2007 à 22:44
Découper une chaine avec plusieurs séparateurs
bipcpp
-
12 août 2007 à 09:16
bipcpp
-
12 août 2007 à 18:00
enregistrer un classeur sous forme de .csv avec séparateur
Virginie
-
3 nov. 2000 à 12:15
chevalpat
-
16 févr. 2009 à 00:08
Rejoignez-nous
A voir également
Extraire mots avec chaine separateur
Parcourir une chaine de caractère en python
Extraction d'une partie d'une chaine dans une chaine
Chaine de caractère
Le format de la chaîne d'entrée est incorrect
26 oct. 2005 à 09:37
shortenString($string, $max,$rempl){
$len = strlen($string);
if ( $len > $max ){
return preg_replace('#(.{15})(.*)(.{10})#','$1'.$rempl.'$2',$str);
}
}
a tester, perso je trouve ca plus simple et plus propre
26 oct. 2005 à 08:34
Ca serait pas plus simple de tester si la chaine n'est pas déjà aussi longue que max, et sinon :
1- déterminer le nombre de caractères à droite/gauche (nb)
2- chaine de retour = substr du début (nb) + séparateur + substr de fin (nb)
avec séparateur en dur, ne connaissant eprsonnellement pas d'autre caractère connu pour signifier "etc" dans une phrase, à part peut-être "[...]"
Ton code est beaucoup trop long pour si peu
25 oct. 2005 à 23:32
25 oct. 2005 à 23:19