Bonjour !
Voilà je voudrais faire une requête sql avec une regexp.
Voilà la requête :
"SELECT $field_ch, id, totalstrokes
FROM dictionary
WHERE pronunciation
REGEXP '$regexp'
ORDER BY totalstrokes")
or die(mysql_error());
Cette requête doit sélectionner les prononciations des caractères chinois correspondants à la recherche utilisateur dans le champ prononciation.
Il peut y avoir de 1 à 4 prononciations dans le champ : sous la forme ([a-z]{1,6}[1-5]{1}){1,4}
exemple : qin2,hua3,hu1,ou.
Si un utilisateur poste soit qin, qin2, hua, hua3, hu ou hu1. Je veux que la regexp comptabilise ce champ. Mais pas un champ ou il y aurait shua ou a3. Donc elle doit être capable de 'comprendre' les mots en entier.
Je suis désolé c'est franchement pas clair
ma regexp : $regexp = '([a-z]{1,6}[1-5]?,){0,3}[^a-z]{1}'.$user_search.'[^a-z]{1}(,[a-z]{1,6}[1-5]?){0,3}';
[^a-z]{1}se serait pour ne pas récupérer les prononciations approximatives mais je n'y arrive pas.
Je suis vraiment pas doué avec les regexp, ne les ayant presque jamais utilisées!
A l'aide j'en ai vraiment marre !:):)
Modifié par laoseb (28 Feb 2009 - 15:03)
Voilà je voudrais faire une requête sql avec une regexp.
Voilà la requête :
"SELECT $field_ch, id, totalstrokes
FROM dictionary
WHERE pronunciation
REGEXP '$regexp'
ORDER BY totalstrokes")
or die(mysql_error());
Cette requête doit sélectionner les prononciations des caractères chinois correspondants à la recherche utilisateur dans le champ prononciation.
Il peut y avoir de 1 à 4 prononciations dans le champ : sous la forme ([a-z]{1,6}[1-5]{1}){1,4}
exemple : qin2,hua3,hu1,ou.
Si un utilisateur poste soit qin, qin2, hua, hua3, hu ou hu1. Je veux que la regexp comptabilise ce champ. Mais pas un champ ou il y aurait shua ou a3. Donc elle doit être capable de 'comprendre' les mots en entier.
Je suis désolé c'est franchement pas clair
ma regexp : $regexp = '([a-z]{1,6}[1-5]?,){0,3}[^a-z]{1}'.$user_search.'[^a-z]{1}(,[a-z]{1,6}[1-5]?){0,3}';
[^a-z]{1}se serait pour ne pas récupérer les prononciations approximatives mais je n'y arrive pas.
Je suis vraiment pas doué avec les regexp, ne les ayant presque jamais utilisées!
A l'aide j'en ai vraiment marre !:):)
Modifié par laoseb (28 Feb 2009 - 15:03)