cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 20 févr. 2005 à 15:24
Pourquoi tu ne corriges pas toi même ??
fuckya
Messages postés125Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention 8 juin 2006 20 févr. 2005 à 12:44
C'est pas grave ^^ mais si j'ai bien compris, ta fonction découpe chaque mot et l'affiche ?
cs_FreakDev
Messages postés17Date d'inscriptionlundi 16 février 2004StatutMembreDernière intervention23 février 2009 20 févr. 2005 à 11:18
Anthomicro :
certe tu peux totalement déformer un site. Encore que avec ma solution tu risque moins de déformer un site que quand la chaine est coupée au premier caractère espace après la limite
mais de toutes façon j'utilise ceci dans le cas d'un générateur de pdf en php
tout dépend donc de l'utilisation que l'on en fait...
fuckya :
dsl pour cette maladresse, je n'est pas ce souci du détail...
mais bon même pour un débutant je pense que l'erreur renvoyer pour ce genre de faute est "expected '{' at row 2"... bon ça va CT pas trop dur à débugger... ;)
mais j'aurais pu faire gaffe quand même...j'avoue...
coockiesch :
$str2 = substr($str,strlen($str1),strlen($str)-strlen($str1));
C vrai que pour cette ligne G un peu abusé quand même...
mais dans la boucle je n'ai pas trop le choix, y'en a un que je peux virer mais pas les deux, sinon ça change le principe de mon algo (ce qui a des fin d'optimisation devrait peut-être être fait... mais bon...)
Kirua :
strlen($str1+$tStr[$j])+1;
exacte il y a un petit pb ici...
je sais que les fonctions sur les chaines sont pour la plupart loude et longues à éxécuter... mais je ne suis pas un fanatique de l'optimisation en temps d'éxécution mais plutot en temps de réflexion...
disons que je suis un féniant koi... ;)
sur ce, bon coding à tous !!
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 19 févr. 2005 à 13:22
"strlen($str1+$tStr[$j])+1;"
je sais pas ce que c'est le +, mais j'imagine que ça fait office de concaténation (ça me paraît bizarre qd même, j'ai peut-être mal compris le code). quoi qu'il en soit, tu ne dois pas faire:
strlen($str1 . $str2)
mais bien:
strlen($str1) + strlen($str2)
parce que dans le premier cas, tu concatènes les chaînes (long et lourd) et ensuite tu en calcules la longueur (ce qui a déjà dû être fait de manière cachée par la concaténation, c'est du gachis). la seconde version au contraire se contente de calculer la longueur des deux chaînes séparément, ce qui est équivalent mais bcp plus rapide.
au passage, t'as pas l'air de t'en rendre compte, mais appeler strlen c'est lourd comme opération (si du moins c'est, comme je le pense, le même procédé qu'en C). faudrait optimiser ça;
ensuite, pour avoir écrit ce genre de code en C++, t'as tout intérêt à parser toi-même le texte, caractère après caractère; c'est plus chiant à écrire comme code, plus long, moins élégant; mais nettement plus rapide parce que tu optimises directement.
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 18 févr. 2005 à 23:09
Salut!
J'aime pas trop l'idée d'avoir une fonction comme strlen dans une boucle... D'ailleurs, pit être tout simplement trop de strlen...
@++
R@f
fuckya
Messages postés125Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention 8 juin 2006 18 févr. 2005 à 19:47
Tu pourrais eventuellement vérifier que ton code marche bien avant de poster ;)
function y'a un { apres ;)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 18 févr. 2005 à 18:21
Salut,
le problème est que justement si ça ne coupe pas un mot bah tu peux très bien déformer tout un site...
Utilise la fonction wordwrap() sinon, c'est beaucoup plus rapide et plus simple d'utilisation.
a ++
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 18 févr. 2005 à 18:08
Oh et la limite? elle est ou ?
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 18 févr. 2005 à 18:08
Euh, tu pourrais pas faire ta fonction pour qu'elle RETOURNE cette la valeur recherchée... ca srait beaucoup plus utile...
et c'est quoi ce <tr> qui traine :P ?
20 févr. 2005 à 15:24
20 févr. 2005 à 12:44
20 févr. 2005 à 11:18
certe tu peux totalement déformer un site. Encore que avec ma solution tu risque moins de déformer un site que quand la chaine est coupée au premier caractère espace après la limite
mais de toutes façon j'utilise ceci dans le cas d'un générateur de pdf en php
tout dépend donc de l'utilisation que l'on en fait...
fuckya :
dsl pour cette maladresse, je n'est pas ce souci du détail...
mais bon même pour un débutant je pense que l'erreur renvoyer pour ce genre de faute est "expected '{' at row 2"... bon ça va CT pas trop dur à débugger... ;)
mais j'aurais pu faire gaffe quand même...j'avoue...
coockiesch :
$str2 = substr($str,strlen($str1),strlen($str)-strlen($str1));
C vrai que pour cette ligne G un peu abusé quand même...
mais dans la boucle je n'ai pas trop le choix, y'en a un que je peux virer mais pas les deux, sinon ça change le principe de mon algo (ce qui a des fin d'optimisation devrait peut-être être fait... mais bon...)
Kirua :
strlen($str1+$tStr[$j])+1;
exacte il y a un petit pb ici...
je sais que les fonctions sur les chaines sont pour la plupart loude et longues à éxécuter... mais je ne suis pas un fanatique de l'optimisation en temps d'éxécution mais plutot en temps de réflexion...
disons que je suis un féniant koi... ;)
sur ce, bon coding à tous !!
19 févr. 2005 à 13:22
je sais pas ce que c'est le +, mais j'imagine que ça fait office de concaténation (ça me paraît bizarre qd même, j'ai peut-être mal compris le code). quoi qu'il en soit, tu ne dois pas faire:
strlen($str1 . $str2)
mais bien:
strlen($str1) + strlen($str2)
parce que dans le premier cas, tu concatènes les chaînes (long et lourd) et ensuite tu en calcules la longueur (ce qui a déjà dû être fait de manière cachée par la concaténation, c'est du gachis). la seconde version au contraire se contente de calculer la longueur des deux chaînes séparément, ce qui est équivalent mais bcp plus rapide.
au passage, t'as pas l'air de t'en rendre compte, mais appeler strlen c'est lourd comme opération (si du moins c'est, comme je le pense, le même procédé qu'en C). faudrait optimiser ça;
ensuite, pour avoir écrit ce genre de code en C++, t'as tout intérêt à parser toi-même le texte, caractère après caractère; c'est plus chiant à écrire comme code, plus long, moins élégant; mais nettement plus rapide parce que tu optimises directement.
18 févr. 2005 à 23:09
J'aime pas trop l'idée d'avoir une fonction comme strlen dans une boucle... D'ailleurs, pit être tout simplement trop de strlen...
@++
R@f
18 févr. 2005 à 19:47
function y'a un { apres ;)
18 févr. 2005 à 18:21
le problème est que justement si ça ne coupe pas un mot bah tu peux très bien déformer tout un site...
Utilise la fonction wordwrap() sinon, c'est beaucoup plus rapide et plus simple d'utilisation.
a ++
18 févr. 2005 à 18:08
18 févr. 2005 à 18:08
et c'est quoi ce <tr> qui traine :P ?