Ok, dans le cas où l'on :
- est "in_string" pour une chaîne commençant par
' ou ";
It true that when not in string we ca look for the next
interesting char with a regexp like '\'|"|`|#|; and then
decide what to do with a select/case. Well... I'm not sure
that this will bring better performances... usually, there
is not much characters between an end of string and the next
interesting character.
- on a trouvé le pendant de l'un de ces
caractères
plus avant dans la chaîne
On pourrait peut-être tenter de :
1) utiliser un expression régulière du type
ereg('([\]*)' . $char, $sql, $part)
et mesurer la taille de $part[1] pour determiner
s'il s'agit bien de la fin de chaine ou pas;
Will it really be faster ? If you have big text strings
with few quotes in it, yes. But before using ereg(), you
have to do some substr() (which can cost much time), don't
you ?
2) sinon réiterer la recherche sur la sous-chaine
qui démarre à la position du caractère précédemment
trouvé + 1
Well. If you want to test such an idea, you can. In my
opinion substr() has quite a heavy cost...
Benjamin