Something I see in your ranges is, you have [أ-ي]
and I know the one on the right is the Arabic A, the first letter. I'm not familiar with the first one, but I suppose it's something like the last character. If that is the case, because PHP language is English, you might want to change the direction of your range into [ي-أ]
instead.
Also, for normalization, I would use Unicode character ranges instead, like Bryan suggested.