У меня есть выражение php reg, которое удаляет любой специальный символ из любой строки и заменяет символ дефисом. Проблема в том, что если есть два специальных символа, следующие друг за другом, я получаю два дефиса. например, если я набираю текст [email protected]%^
, я получаю test-hhh--
или, если я набираю [email protected]%^kkk
, я получаю test-hhh--kkk
. Я хочу, чтобы мое выражение дало мне test-hhh
. Я хочу удалить две одинаковые дефисы, следующие друг за другом, плюс любые конечные дефисы в строке. Мой код здесьВыражение для удаления двух одинаковых символов и других символов конца
$slug = preg_replace('/[^a-zA-Z0-9]/', '-', $slug);