begin process at 2012 05 27 21:52:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > INSTR LIKE VB - FONCTION RETOURNANT LA POSITION D'UN CARACTÉRE DANS UNE VARIABLE

INSTR LIKE VB - FONCTION RETOURNANT LA POSITION D'UN CARACTÉRE DANS UNE VARIABLE


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caratère Niveau :Débutant Date de création :20/07/2002 Date de mise à jour :20/07/2002 15:36:27 Vu :12 159

Auteur : aKheNathOn

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Pour un projet je cherchais dans l'aide php comment trouver la position d'un caractére dans un string , et n'ayant pas trouvé je me suis dit que peut-être elle n'existe pas et que c'est à moi de la faire , donc voilà ... La syntaxe est proche de la syntaxe de la fonction Instr pour ceux qui programment des fois en visual basic , cependant la fonction ne gére pas la recherche de mots mais juste de lettres ...

Prévenez moi si cette fonction existe déjà en php , sinon je la mettrais à jour , exactement dans le style de vb , cependant je pense que je n'ait pas assez cherché donc c'est juste pour dépanner ...

Si elle n'existe pas , ça serais interressant d'en coder une , rien que pour les moteurs de recherche ...

Source

  • <?
  • /*
  • FONCTION INSTR -> LIKE VB FUNCTION
  • Donne la postion d'un caractére - Version 1.0
  • */
  • Function Instr($Depart, $Chaine, $Caractére)
  • {
  • // 1 . Verification des paramétres rentrés
  • If(strlen($Chaine)<$Depart)
  • {
  • $n=-1;
  • goto Fin;
  • }
  • // Recherche la lettre pour sortir de la boucle
  • for($n=$Depart; $n < strlen($Chaine); $n++)
  • {
  • if(strtolower($string[$n])==strtolower($Caractére))
  • {
  • goto Fin;
  • }
  • }
  • // Boucle Finie sans trouver la lettre
  • $n=-1;
  • Fin:
  • return $n;
  • }
  • ?>
<?
/* 
    FONCTION INSTR -> LIKE VB FUNCTION
    Donne la postion d'un caractére - Version 1.0
*/
Function Instr($Depart, $Chaine, $Caractére)
{
// 1 . Verification des paramétres rentrés
If(strlen($Chaine)<$Depart)
{
$n=-1;
goto Fin;
}
// Recherche la lettre pour sortir de la boucle
for($n=$Depart; $n < strlen($Chaine); $n++) 
	{ 
    if(strtolower($string[$n])==strtolower($Caractére)) 
		{ 
        goto Fin;
    	}
	}
// Boucle Finie sans trouver la lettre
$n=-1;
Fin:
return $n; 
}
?>

 Conclusion

Pour l'appel :

$Position=Instr($Chercher_a_Partir_de_la_Posi tion, $TexteInitial, $LettreCherchée);

si la lettre n'existe pas , la fonction retourne -1

Bonne prog à tous , akh


 Sources du même auteur

CLASSE WIKILOC
Source avec Zip OBSERVER PATTERN ORIENTÉ DÉVELOPPEMENT ÉVÉNEMENTIEL DÉCLARAT...
Source avec Zip SERVICE DESIGN PATTERN / CHARGEMENT DYNAMIQUE DE SERVICES D'...
Source avec Zip Source avec une capture WHOIS DOMAIN CLASS : LOOKUP & AVAIBILITY
Source avec Zip Source avec une capture XML MAPPING TO CLASS OBJECTS / CHARGEMENT / PARSING / MODIFI...

 Sources de la même categorie

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip CLASSE D'OBJET DE RECHERCHE DE MOTS DANS DES TABLEAUX ET/OU ... par 8Tnerolf8
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE par tefa24600
Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip Source avec une capture CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGE par Salva9473

Commentaires et avis

Commentaire de Dean le 20/07/2002 16:26:34

En PHP il existe strpos() qui accepte même les chaînes !

Commentaire de aKheNathOn le 21/07/2002 11:33:50

Ah ok , merci ...

Faut dire que quand j'ai posté le code j'étais entrain de chercher cette fonction , mais tant qu'à faire je vais le laisser, peut-être qu'il y en aura à qui ça pourrais servir ...

Commentaire de Clem le 27/07/2002 13:54:21

J'ai déjà fait une fonction php sur site qui fait le même : http://www.phpcs.com/article.aspx?Val=74
Elle est un peu plus courte, enfin je n'ai pas mit de commentaires.
Merci aKheNathOn, ça ira plus vite avec cette fonction quand même.

Commentaire de aKheNathOn le 27/07/2002 16:51:31

Attends clem , je crois qu'il y à une big erreur dans cette fonction :) ! ! ! Mais c'est comme même evident non ? Les goto ça n'existe pas en php :( , je n'avais pas encore testé cette fonction avec easyphp avant de la mettre sur le site ... désolé , je suis trop speed des fois ... Par contre j'aimerais savoir comment sortir de ma boucle , alors si un mec connais :) , ça serais tranquille qu'il m'explique comment sortir de tous les styles de boucles , for et do...loop . Merci

Commentaire de FleX le 07/08/2002 09:44:17

oui et y aune autre fonction du genre instr() qui s'appelle strchr() qui est pareil, elle cherche une chaine dans une autre :)

Commentaire de FleX le 07/08/2002 09:45:48

mais strpos cherche juste un caractère. Alors que strchr cherche une chaine c mieux :)

Commentaire de Clem le 07/08/2002 14:12:14

Je vient de tester (Je pensais que ça marchais pareil que la mienne, donc je n'ai pas tester), oui goto n'éxiste pas en php, heu, t'es vraiment trop speed donc !
Mais c'est rien, car au moin maintenant on connait la vraie fonction.
Pour sortir de la boucle, c'est pas break ? (Je suis pas sur du tout)

Commentaire de yami_no_ookami le 07/04/2004 13:59:08

c pas pour critiquer mais reinventer la roue c rarement utile surtout si on la fait carré (ca roule moins bien).
la prochaine fois que tu trouves pas une fonction dans la doc demande sur les forum ca t'evitera des dev inutile :)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales