[Résolu] problème strstr() et son 3e paramètre

problème strstr() et son 3e paramètre [Résolu] - PHP - Programmation

Marsh Posté le 11-01-2008 à 16:39:49    

Hello tous,  
 
D'après ce que je peux voir dans la doc officielle, strstr() accepte un troisième paramètre, qui permet de prendre ce qui se trouve AVANT le "needle" ..
 
Je suis sur un environnement PHP5, et voici mon souci :

Code :
  1. $mystring = "Hello World";
  2. echo strstr($mystring," " );  // output " World", ça marche donc très bien.
  3. echo strstr($mystring," ",true); // devrait output "Hello " mais output rien, du blanc quoi.


 
J'ai essayé avec strchr(), l'alias de strstr(), et le même problème se pose.
 
Un indice intéressant est que mon environnement de développement (Zend Studio) ne parle absolument pas de ce troisième paramètre ... Est-ce que ce serait php.net qui déconnerait ? Ou bien je fais quelque chose de travers ?  :??:


Message édité par ZeBix le 11-01-2008 à 16:49:40
Reply

Marsh Posté le 11-01-2008 à 16:39:49   

Reply

Marsh Posté le 11-01-2008 à 16:40:57    

Si tu lis bien la doc, il est écrit ceci:
 

Citation :

ChangeLog
 
Version  Description
6.0.0  Added the before_needle parameter.
4.3.0  strstr() was made binary safe.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 11-01-2008 à 16:42:37    

Ahem .. je lis mal, effectivement ...

 

Rha ces versions pré-alpha qui transpirent leurs caractéristiques dans la doc officielle, c'est pénible ...

 

De plus, ils pourraient l'indiquer au haut de la page ...

 

bref, merci bien, paramètre inexistant atm, on attendra le 6 !

 

*edit* et j'aurais aussi pu lire les user comments ...

Citation :

For the needle_before (first occurance) parameter when using PHP 5.x or less, try:

 
Code :
  1. <?php
  2. $haystack = 'php-homepage-20071125.png';
  3. $needle = '-';
  4. $result = substr($haystack, 0, strpos($haystack, $needle)); // $result = php
  5. ?>



 


Message édité par ZeBix le 11-01-2008 à 16:49:17
Reply

Sujets relatifs:

Leave a Replay

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