Addslashes doesn't put slashes in front of % signs from what I have tested:
$string = '%';
echo addslashes ($string);
returns:
%
not
\%
As I said before, I'd like to avoid simply deleting the % with str_replace, but if there is no other way, I'll have to do it.