1

この preg_replace (PHP) をどのように拡張し、正規表現を使用して空白も置き換えますか..

$this->permalink = preg_replace('[^a-z0-9]', '-', $this->permalink);

ページ タイトルに基づいてページのパーマリンクを生成するためのものです。「私について」は「私について」になります。スペースがまだ削除されていないことを除いて、すべて問題ありません。

ありがとう!

4

2 に答える 2

2

どうですか

$this->permalink = preg_replace('/\W/i', '-', $this->permalink);

\W単語以外の文字(文字、数字、アンダースコア)

于 2011-07-10T17:41:09.350 に答える
2

コメントで指摘されているように、正規表現に区切り文字がありません。i大文字と小文字を区別しないように修飾子も追加しました。

例:

$this->permalink = preg_replace('/[^a-z0-9]/i', '-', $this->permalink);

実際の例を次に示します: http://codepad.org/OlzQax1c

于 2011-07-10T17:33:58.573 に答える