Page 1 sur 1

Fonction str_replace()

Posté : 25 avr. 2007, 20:03
par sylvaing26
Est ce qu'il y a moyen avec cette fonction de detecter les : d' et l' ?
parce que j'ai posé
	$mots = str_replace(" d'", "", $mots);
	$mots = str_replace(" l'", "", $mots);
Mais je pense que du fait qu'il n'y a pas d'espace entre d' et le mot il ne fait pas la modif
Ya t-il une alternative ? C'est pour un moteur de reccherche

Posté : 26 avr. 2007, 21:15
par sylvaing26
quelqun peut m'aider ?

Posté : 26 avr. 2007, 21:29
par orgerix
essaye explode().

Sinon, il doit y avoir des fonctions qui donne l'emplacement d'une sous chaine dans une chaine, il faut que tu regarde dans toutes les fonctions.

EN passant, il me semble que pour un délait d'une heure le soir, tu peux comprendre qu'il n'y ait personne pour te répondre...

Posté : 26 avr. 2007, 22:37
par thehawk
certainement un regex ...

Posté : 26 avr. 2007, 23:55
par Ryle
str_replace() remplace une chaine de caractère par une autre, il ne se soucis pas de savoir ce qu'il y a autour (espace ou pas). S'il trouve la chaine, il la remplace, ça s'arrête là :)

Si dans ton cas, le " d'" et le " l'" ne sont pas supprimés de la chaine après ce bout de code, c'est que cette chaine : "espace, lettre d ou l en minuscule, apostrophe" n'est pas trouvée.

Affiche $mots avant et après l'opération.. m'étonnerais pas que ton $mots soit une valeur récupérée d'un formulaire et addslashée par php, laissant trainer un antislash devant l'apostrophe.. ou alors une question de casse, ou peut être de l'espace qui précède ?

Posté : 27 avr. 2007, 00:45
par zigz4g
$mots = str_ireplace("d\'", "", $mots);
Mais si c'est quelqu'un qui tape le mot, faudra faire du nettoyage de chaine de caractères.

Si je t'envois c'est chaine, ca passera moins bien :

Code : Tout sélectionner

" d ' essai "
En générale je commence pas faire le nettoyage des espaces en trop.
Puis voir pour le nettoyage des accents des lettres.
Et d'autres subtilités, de la langue.

Posté : 27 avr. 2007, 01:14
par sylvaing26
Ok, merci effectivement les données proviennent d'un formulaire, je vais essayer ca et je redis le resultat.
Et au passage pour orgerix : le delai si tu y regardes de plus près etait de 1 JOUR et une heure !
C'est pour cela que j'ai relancé la convers.
Encore merci ! J'essaie ca au plus vite pour les slash