文字列から特殊文字を削除し、その文字をハイフンに置き換えるphpreg式があります。問題は、2つの特殊文字が連続している場合、2つのハイフンを取得することです。たとえば、test@hhh%^取得したテキストを入力した場合test-hhh--、または入力した場合test@hhh%^kkkは取得しtest-hhh--kkkます。私の表現が私に与えて欲しいですtest-hhh。続く2つの類似したハイフンと、文字列内の末尾のハイフンを削除したいと思います。私のコードはここにあります
$slug = preg_replace('/[^a-zA-Z0-9]/', '-', $slug);