Page 1 sur 1

Fonction Apostrophe()

Posté : 17 janv. 2007, 00:09
par Ultim4T0m
Bonjour,

J'aurais aimé savoir si cette méthode est bonne ou si elle peut être améliorée.

Cette fonction a pour but de définir si le mot doit être précédé, par exemple, de " d' " ou de " de ", en retournant 1 ou 2.

Suite à la discussion qu'il y a eu ici, je me suis posé quelques questions ^^'
function Apostrophe($chaine)	{
	
	// On stocke le premier caractère de la chaine, ainsi que le second
	$c = $chaine[0];
	$d = $chaine[1];
	
	if($c == 'a' || $c == 'e' || $c == 'i' || $c == 'o' || $c == 'u' || $c == 'y' || $c == 'A' || $c == 'E' || $c == 'I' || $c == 'O' || $c == 'U' || $c == 'Y' || ($c == 'H' && ($d == 'a' || $d == 'e' || $d == 'i' || $d == 'o' || $d == 'u' || $d == 'y')) || ($c == 'h' && ($d == 'a' || $d == 'e' || $d == 'i' || $d == 'o' || $d == 'u' || $d == 'y')))
		return 1;
	else
		return 2;

}
J'imagine bien entendu qu'il y a mieux, plus propre, j'avoue que la condition comme cela fait très brouillon...

Merci

Posté : 17 janv. 2007, 00:17
par Truc

Posté : 17 janv. 2007, 00:17
par Ajoloca
Bonsoir,

Personnellement, j'aurai mis les valeurs (seulement les minuscules) dans un tableau et utilisé
If (in_array(strtolower($d), $tableau)) return (1);
return (2);
Et tu ne gères pas les caractères accentués.

EDIT:
Comme d'hab, battu au finish!

Posté : 17 janv. 2007, 00:20
par Ultim4T0m
Pour ce qui est des majucules/minuscules, j'ai du le faire car la fonction retournait 2 pour par exemple Ajoloca mais 1 pour ajoloca.

Bref, merci Truc, et désolé de ne pas avoir assez bien cherché sur le forum :oops:

Posté : 17 janv. 2007, 00:22
par Truc
Bref, merci Truc, et désolé de ne pas avoir assez bien cherché sur le forum :oops:
sur ce coup je veux bien qu'on ne trouve pas les bons mots pour la recherche... "d", "'","de","d'" :lol:

Posté : 17 janv. 2007, 00:27
par Ultim4T0m
Je n'avais cherché que Apostrophe ^^'

** Méééheu arrêtez de me charier :oops: **

:P