Есть функция с регулярное выражением preg_match("/[^a-zA-Z0-9\/\-\?\=]/" , $url), которая делает поиск совпадений символов отличных тех что приведенном символьном классе. >Но нужно сделать так чтобы еще к этому:
1. Учитывались двойные и больше в подряд символы слеша (// или ///), знак вопроса (?? или ??????), тире (-- или-----) и другие подобные символы в подряд.
2. А также учитывалось, если в проверяемой строке, в разных позициях(не в подряд) присутствуют более одного символы равно(=), знак вопроса(?).
То есть например есть любая строка - line-of-text?=line-of-text//text?/history---5
В этой строке нужно сделать чтобы нашло символы - два слеша(//), три тире(---), знак вопроса (?) поскольку таких знаков два в строке (если б был один знак вопроса тогда он пропускается)