PHP ARRAY : Besoin d'un cours, désolé

PHP ARRAY : Besoin d'un cours, désolé - PHP - Programmation

Marsh Posté le 08-05-2010 à 08:08:14    

Bonjour.
Oui je sais, j'ai lu les cours sur php.net...
 
Mon problème est simple :
je veux faire la verification suivante :
 

Code :
  1. if (  (strpos(strtolower($origine),strtolower(' '.$truc)) !== FALSE)
  2. || (strpos(strtolower($origine),strtolower('-'.$truc)) !== FALSE)
  3. || (strpos(strtolower($origine),strtolower(','.$truc)) !== FALSE)
  4. || (strpos(strtolower($origine),strtolower(';'.$truc)) !== FALSE)
  5. || (strpos(strtolower($origine),strtolower('.'.$truc)) !== FALSE)
  6. || (strpos(strtolower($origine),strtolower($truc.' ')) !== FALSE)
  7. || (strpos(strtolower($origine),strtolower($truc.'-')) !== FALSE)
  8. || (strpos(strtolower($origine),strtolower($truc.',')) !== FALSE)
  9. || (strpos(strtolower($origine),strtolower($truc.';')) !== FALSE)
  10. || (strpos(strtolower($origine),strtolower($truc.'.')) !== FALSE)  )
  11.      {
  12.      prout prout prout
  13.      }


 
Vous remarquez que ça commence à faire une sacré boucle !
Un peu sauvage, le gars !
 
Question :
 
Si je veux utiliser les Array, comment dois je faire ?
 
P.S.
Merci d'éviter les réponses du genre "ben tu mets tes variables dans un tableau..."
P.S.
Si vous aviez un petit exemple...
 
MERCICHE...


---------------
http://www.ypikay.com
Reply

Marsh Posté le 08-05-2010 à 08:08:14   

Reply

Marsh Posté le 08-05-2010 à 09:59:50    

Tu crées un tableau avec tous tes caractères spéciaux ( ' ', '-',...). Ensuite tu fais quelques chose genre

 
Code :
  1. $ok = true;
  2. for($i=0; $i<count($mon_tableau);$i++)
  3. {
  4.  $ok = (strpos(strtolower($origine),strtolower($mon_tableau[$i].$truc)) &&  (strpos(strtolower($origine),strtolower($truc.$mon_tableau[$i])) && $ok;
  5. }
  6.  
  7. if($ok !== FALSE)
  8. {
  9. prout
  10. }
 

Tu vois le pourquoi du comment?


Message édité par esox_ch le 08-05-2010 à 10:01:06

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-05-2010 à 18:16:44    

ok je vais esayer ça
merci !


---------------
http://www.ypikay.com
Reply

Marsh Posté le 10-05-2010 à 13:22:23    

ou avec un regexp

Code :
  1. $search  = preg_quote('truc');
  2. $rgex    = "/($search)[ -,;\.]|[ -,;\.]($search)/u";
  3.     
  4. if(preg_match($rgex, $text))
  5. {
  6.    echo 'prout prout prout';
  7. }

Message cité 1 fois
Message édité par stealth35 le 10-05-2010 à 15:43:28
Reply

Marsh Posté le 10-05-2010 à 16:32:06    

stealth35 a écrit :

ou avec un regexp

Code :
  1. $search  = preg_quote('truc');
  2. $rgex    = "/($search)[ -,;\.]|[ -,;\.]($search)/u";
  3.     
  4. if(preg_match($rgex, $text))
  5. {
  6.    echo 'prout prout prout';
  7. }



 
En effet, beaucoup plus propre que la méthode que j'ai proposée  :bounce: J'y avais pas pensé


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 10-05-2010 à 16:39:45    

j'allais oublier faut mettre l'option "i " en plus pour la casse
 

Code :
  1. $rgex    = "/($search)[ -,;\.]|[ -,;\.]($search)/ui";


Message édité par stealth35 le 10-05-2010 à 16:42:28
Reply

Marsh Posté le 10-05-2010 à 16:53:35    

on pense pas assez au preg_match

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed