3

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

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

2 に答える 2

2

まず、この正規表現を文字列に適用します。

$slug = preg_replace('#-{2,}#', '-', $slug);

次に、追加の引数としてハイフン文字を使用して右トリム(または通常のトリム)を適用します。

$slug = trim($slug, '-');
于 2013-02-19T07:51:27.890 に答える
0

ここhttp://www.regular-expressions.info/repeat.htmlで役立つ情報を見つけることができます。基本的に、繰り返し修飾子を指定する必要があります。

于 2013-02-19T07:48:40.310 に答える