Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1238 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Affichage jusqu'à un caractère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Affichage jusqu'à un caractère

n°625113
coconutes4
Posté le 29-01-2004 à 17:20:09  profilanswer
 

Bonjour, voici mon probleme:

Code :
  1. <?
  2. $string="Bonjour le Printemps. Cuicui font les oiseaux par un temps si beau";


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:)

mood
Publicité
Posté le 29-01-2004 à 17:20:09  profilanswer
 

n°625472
Toucouch
Posté le 29-01-2004 à 22:39:29  profilanswer
 

echo ereg_replace('\..*$', '.', $string);

n°625475
Ayuget
R.oger
Posté le 29-01-2004 à 22:47:20  profilanswer
 

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)

n°625481
karamilo
Posté le 29-01-2004 à 22:57:09  profilanswer
 

echo substr($string, 0, strrpos($string, '.'));

n°625486
the real m​oins moins
Posté le 29-01-2004 à 23:08:56  profilanswer
 

karamilo a écrit :

echo substr($string, 0, strrpos($string, '.'));

pfiou, heureusement que tu réponds, j'ai eu peur en lisant les 2 autres [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°625596
simogeo
j'ai jamais tué de chats, ...
Posté le 30-01-2004 à 01:17:04  profilanswer
 

the real moins moins a écrit :

pfiou, heureusement que tu réponds, j'ai eu peur en lisant les 2 autres [:mlc]


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 [:mlc].....
 
un ereg() est beaucoup plus sûr  [:spamafote]
 
ou alors il faut utiliser strpos()


Message édité par simogeo le 30-01-2004 à 01:21:47

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°625646
Ayuget
R.oger
Posté le 30-01-2004 à 07:17:45  profilanswer
 

the real moins moins a écrit :

pfiou, heureusement que tu réponds, j'ai eu peur en lisant les 2 autres [:mlc]


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".
 
 :)  :jap:

n°625740
coconutes4
Posté le 30-01-2004 à 09:53:29  profilanswer
 

simogeo a écrit :


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 [:mlc].....
 
un ereg() est beaucoup plus sûr  [:spamafote]
 
ou alors il faut utiliser strpos()


Merci a tous, mais
Oui cette methode ne marche pas correctement...
Donc admettons que

Code :
  1. $string="Coucou les Amis . Et les autres aussi. Cool";


comme faire pour n'afficher que coucou les amis ?
 
merci d'avance:)

n°625744
simogeo
j'ai jamais tué de chats, ...
Posté le 30-01-2004 à 09:56:07  profilanswer
 

dans la fonction que t'as donnée karamilo, remplace strrpos() par strpos()... ca devrait fonctionner
 
echo substr($string, 0, strpos($string, '.'));


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°625747
coconutes4
Posté le 30-01-2004 à 09:59:34  profilanswer
 

Merci à tous:)

mood
Publicité
Posté le 30-01-2004 à 09:59:34  profilanswer
 

n°625869
Toucouch
Posté le 30-01-2004 à 11:40:43  profilanswer
 

coconutes4 a écrit :


Merci a tous, mais
Oui cette methode ne marche pas correctement...
Donc admettons que

Code :
  1. $string="Coucou les Amis . Et les autres aussi. Cool";


comme faire pour n'afficher que coucou les amis ?
 
merci d'avance:)


' marche aussi ma regex... :p

n°625878
simogeo
j'ai jamais tué de chats, ...
Posté le 30-01-2004 à 11:45:43  profilanswer
 

ué mais les regex c'est lourd :/


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°626053
Toucouch
Posté le 30-01-2004 à 13:15:18  profilanswer
 

simogeo a écrit :

ué mais les regex c'est lourd :/


Les regex, c'est bon, mangez-en!

n°626061
karamilo
Posté le 30-01-2004 à 13:17:57  profilanswer
 

faut pas en abuser non plus !
surtout des ereg ...

n°626111
Toucouch
Posté le 30-01-2004 à 13:41:53  profilanswer
 

karamilo a écrit :

faut pas en abuser non plus !
surtout des ereg ...


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.

n°626126
the real m​oins moins
Posté le 30-01-2004 à 13:52:49  profilanswer
 

Toucouch a écrit :


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.

c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°626130
the real m​oins moins
Posté le 30-01-2004 à 13:54:43  profilanswer
 

Toucouch a écrit :


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.

c'est simplement une solution trop poussée pour le probleme posé, et ça rend ton code illisible.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°626141
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 30-01-2004 à 14:04:17  profilanswer
 

Toucouch a écrit :


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.


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


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°626153
simogeo
j'ai jamais tué de chats, ...
Posté le 30-01-2004 à 14:08:58  profilanswer
 

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


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°626154
simogeo
j'ai jamais tué de chats, ...
Posté le 30-01-2004 à 14:09:07  profilanswer
 

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


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°626165
Toucouch
Posté le 30-01-2004 à 14:12:54  profilanswer
 

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...

n°626169
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 30-01-2004 à 14:14:32  profilanswer
 

Toucouch a écrit :


et que le lecteur ne connait pas les regex...


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 :/


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°626190
simogeo
j'ai jamais tué de chats, ...
Posté le 30-01-2004 à 14:26:44  profilanswer
 

Taiche 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 :/


carrément, et pour les pondre aussi quand tu n'en fais pas une habitude   ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°626199
Toucouch
Posté le 30-01-2004 à 14:39:08  profilanswer
 

Taiche 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


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...

n°626203
Toucouch
Posté le 30-01-2004 à 14:41:55  profilanswer
 

Taiche 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 :/


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...

n°626220
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 30-01-2004 à 15:00:51  profilanswer
 

Toucouch 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...


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 [:spamafote]
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 :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Affichage jusqu'à un caractère

 

Sujets relatifs
PROBLEME AFFICHAGE D IPtype de caractère en c
[CSS] Bug affichage cadre aux coins arrondisProblème d'affichage d'une variable
(Débutant) taille tableau caractère[php] Patern, remplacer dans une chaine de caractère
[Pascal] Demande 2 fois le caractère sinon ca plante. (ouf Résolu)Comment passer d'un code caractère numérique comme "&#233" à "é"
[SH] Contenu variable different de l'affichageProblème d'affichage d'un caractère à l'écran
Plus de sujets relatifs à : Affichage jusqu'à un caractère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR