Affichage jusqu'à un caractère - PHP - Programmation
Marsh Posté le 29-01-2004 à 22:47:20
tu peux utiliser explode() aussi, je sais pas si c'est très propre, mais je pense que c'est plus léger que ereg_replace (a vrai dire j'en sais trop rien)
Marsh Posté le 29-01-2004 à 23:08:56
karamilo a écrit : echo substr($string, 0, strrpos($string, '.')); |
pfiou, heureusement que tu réponds, j'ai eu peur en lisant les 2 autres
Marsh Posté le 30-01-2004 à 01:17:04
the real moins moins a écrit : pfiou, heureusement que tu réponds, j'ai eu peur en lisant les 2 autres |
bof ... en fait c'est nulle comme solution ..... si la phrase ne contient pas de '.' ca ne fonctionne pas et si elle en contient plusieurs, strpos() va se caler sur le dernier alors c'est vraiment merdique .....
un ereg() est beaucoup plus sûr
ou alors il faut utiliser strpos()
Marsh Posté le 30-01-2004 à 07:17:45
the real moins moins a écrit : pfiou, heureusement que tu réponds, j'ai eu peur en lisant les 2 autres |
on est tous là pour apprendre, si tu as une solution meilleure que celle donnée, il faut se signaler, ca sera bénéfique pour tout le monde. Par exemple, j'ai pensé à explode(), c'est surement pas une bonne fonction à utiliser dans ce cas là, ben on pourrait me faire la remarque au lieu de dire "wa c'est trop nul".
Marsh Posté le 30-01-2004 à 09:53:29
simogeo a écrit : |
Merci a tous, mais
Oui cette methode ne marche pas correctement...
Donc admettons que
Code :
|
comme faire pour n'afficher que coucou les amis ?
merci d'avance
Marsh Posté le 30-01-2004 à 09:56:07
dans la fonction que t'as donnée karamilo, remplace strrpos() par strpos()... ca devrait fonctionner
echo substr($string, 0, strpos($string, '.'));
Marsh Posté le 30-01-2004 à 11:40:43
coconutes4 a écrit :
|
' marche aussi ma regex...
Marsh Posté le 30-01-2004 à 11:45:43
ué mais les regex c'est lourd
Marsh Posté le 30-01-2004 à 13:15:18
ReplyMarsh Posté le 30-01-2004 à 13:41:53
karamilo a écrit : faut pas en abuser non plus ! |
Franchement, je ne crois pas qu'il y ait beaucoup de cas où cela pose un vrai problème... En tout cas, je n'en vois pas... Mais, vas-y, montre-moi que j'ai tort: je suis ouvert à toute critique constructive.
Marsh Posté le 30-01-2004 à 13:52:49
Toucouch a écrit : |
c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible.
Marsh Posté le 30-01-2004 à 13:54:43
Toucouch a écrit : |
c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible.
Marsh Posté le 30-01-2004 à 14:04:17
Toucouch a écrit : |
En perfos, les regexp sont à la ramasse. Y a eu un petit test de fait y a quelque temps : http://forum.hardware.fr/forum2.ph [...] 999&cat=10
Marsh Posté le 30-01-2004 à 14:08:58
the real moins moins a écrit : c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible. |
c'est pas faux
Marsh Posté le 30-01-2004 à 14:09:07
the real moins moins a écrit : c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible. |
c'est pas faux
Marsh Posté le 30-01-2004 à 14:12:54
the real moins moins a écrit : c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible. |
Ben, c'est illisible si il n'y a pas de commentaires et que le lecteur ne connait pas les regex...
Marsh Posté le 30-01-2004 à 14:14:32
Toucouch a écrit : |
Ca arrive très souvent et de toute façon, à moins d'être un pro, faut quand même passer du temps à interpréter la regexp pour savoir ce que l'auteur a vraiment voulu faire
Marsh Posté le 30-01-2004 à 14:26:44
Taiche a écrit : |
carrément, et pour les pondre aussi quand tu n'en fais pas une habitude
Marsh Posté le 30-01-2004 à 14:39:08
Taiche a écrit : |
Effectivement, pour un grand nombre de substitutions dans un grand texte, on peut peut-être sentir le "poids" des regex.
Ceci dit, tout dépend de l'usage qu'on veut en faire. A la limite, si l'on doit faire un grand nombre de substitutions chaque fois qu'une page est appelée, il faut peut-être envisager de stocker le document sous sa forme "transformée" (compromis capacité de stockage/capacité de calcul)...
coconutes dit qu'il veut transformer UNE chaîne de caractères en une autre plus courte. Il n'a pas dit qu'il voulait traiter 1Mo de texte...
Et puis ma regex n'est pas très complexe dans la mesure où elle recherche la première occurrence d'un caractère précis et qu'elle remplace ce caractère ainsi que tous ceux qui le suivent par un autre caractère. Pas violent pour le moteur...
Marsh Posté le 30-01-2004 à 14:41:55
Taiche a écrit : |
C'est valable pour tous les codes: il faut plus de temps pour comprendre une regex/du C/du Perl/du PHP/etc. que sa langue maternelle... D'où l'intérêt des commentaires pour dire ce que l'on veut faire...
Et puis une regex de 5 caractères...
Marsh Posté le 30-01-2004 à 15:00:51
Toucouch a écrit : |
Ouais bin désolé mais perso j'la comprends pas, tout simplement passke les regex, si j'ai pas mon manuel à côté, bin j'y panne rien
C'est au contraire très différent des langages de prog. Dans un langage de prog, les mots-clés, les noms de fonction ou les variables ont la plupart du temps des noms compréhensibles, alors qu'une regex, une fois la parenthèse ouverte, t'as plus qu'une suite de caractères et si tu sais pas lequel correspond à quoi, bin t'es largué direct. Même avec un commentaire, le jour où ça bugge, le type qui reprend le code sans rien y connaître sera à la rue.
Sinon oui, ta regex est simple mais faut voir aussi l'intitulé du problème : prendre tout le début d'une chaîne de caractère en s'arrêtant au premier point. Pour moi, les regex c'est super utile pour des patterns complexes (la gestion des codes ou des smileys sur ce forum, par exemple) ; pour les cas simples, ça fait bazooka pour tuer un moustique, je trouve
Marsh Posté le 29-01-2004 à 17:20:09
Bonjour, voici mon probleme:
Je voudrais afficher string (hoho) jusqu'au "." , mais je ne sait pas quelle fonction utiliser ?
strstr ne permettant d'afficher une chaine qu'aprés et non avant un caractére
merci d'avance