2013-02-19 6 views
3

У меня есть выражение php reg, которое удаляет любой специальный символ из любой строки и заменяет символ дефисом. Проблема в том, что если есть два специальных символа, следующие друг за другом, я получаю два дефиса. например, если я набираю текст [email protected]%^, я получаю test-hhh-- или, если я набираю [email protected]%^kkk, я получаю test-hhh--kkk. Я хочу, чтобы мое выражение дало мне test-hhh. Я хочу удалить две одинаковые дефисы, следующие друг за другом, плюс любые конечные дефисы в строке. Мой код здесьВыражение для удаления двух одинаковых символов и других символов конца

$slug = preg_replace('/[^a-zA-Z0-9]/', '-', $slug); 

ответ

2

Сначала нанесите это регулярное выражение в строку:

Во-вторых вы применить правильную облицовку (или обычный) один с дефис в качестве дополнительного аргумента.

$slug = trim($slug, '-'); 
Смежные вопросы