> 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