tri spécial en MySQL

Répondre
nbennato
le 03/07/2004 à 18:20
nbennato
Salut à tous
je commence le php (jsuis un pauvre graphiste flasheur à la base :op)

je cherche un moyen (c'est pour un chatbot) de comparer 2 chaines, et de pouvoir savoir si on retrouve 4 mêmes caractères à la suite dans les 2 chaines, vous voyez ? vous avez une idée ?

Merciiiiiiii :o)
mojorisin
le 03/07/2004 à 18:29
mojorisin
ces 4 caractères sont-ils défini a l'avance ou cela peut etre n'importe quels caractères consécutifs?
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
chuck norris
le 03/07/2004 à 18:46
chuck norris
je regarde il doit y avoir substr_compare qui peu etre utile.

sinon ya cette fonction mais j ai aps testé (et il faut que les chaine soit toujours au dessus de 4 caracteres)
function est_dans($chaine1,$chaine2){
$present = "non presente";

for($i=0;$i<strlen($chaine1)-4;$i++){
$sub1 = substr($chaine1,i,i+4);
if(strstr($chaine2,$sub1) != FALSE)
$present = "presente" //chaine presente

}
echo "la chaine $chaine1 est $present dans $chaine2";
}
mojorisin
le 03/07/2004 à 23:44
mojorisin
Voila un petit code fonctionnel.
Attention pas testé avec de très grandes chaines de caractères.
/* Recherche une chaine de caractère dans une autre
/* @param $str1 : chaine de caractère de référence
/* @param $str2 : Chaine de caractère cible
/* @param $nbChr : entier(int) représentant le niombre de caractres consécutifs a trouver
/* @return : false si aucune occurences trouvée. Offset de la chaine trouvée
*/
function trouve_caracteres($str1,$str2,$nbChr){
// Si la chaine1 est plus petite que 4 on sort
if(strlen($str1) < $nbChr){
return false;
}
// On récupère les x premiers caractère de la chaine1
$tmpStr = substr($str1,0,$nbChr);

// recherche de ces x caractères dans la deuxieme chaine
$pos = strpos($str2,$tmpStr);

if($pos === false){
// On supprime le premier caractère
$str1 = substr($str1,1);
//apelle récursif de la fonction
trouve_caracteres($str1,$str2);
} else {
return $pos;
}

}
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Patochewie
le 05/07/2004 à 11:03
Patochewie
Tu as juste oublié de donner le nombre de caractères recherchés dans ton appel récursif.
Pierreh33
le 05/07/2004 à 11:38
Pierreh33
Bonjour, j'ai un forum et j'ai fais en sorte que quand on ecrit :) sa affiche un smiley .
Et maintenant je voudrai savoir comment faire pour que quand on clique sur un bouton, sa ecrive :) dans le textarea .

Aidez-moi svp .
Pierreh33
le 05/07/2004 à 11:39
Pierreh33
oups désolé effacer moi je me suis trompé je voulais faire un nouveau sujet désolé .
mojorisin
le 05/07/2004 à 16:55
mojorisin
Oups oui :o)
C'est parcequ'a la base j'avais fait le bout de code pour 4 caractères et je me suis dit quand a faire autant que l'on puisse décider du nombre de caractères consécutifs smiley

Mais bon vous avez corrigé de vous même smiley
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours