Please Sign In or Register

Pathauto : アンダースコアをセパレータの置換対象からはずす

Pathauto では記号やスペースを指定したセパレータに置き換えて、URL パスを生成することができる。
デフォルトではセパレータとしてハイフン(-)が設定されているのだが、パスの生成アイテムの内容にアンダースコア(_)が含まれている場合、このアンダースコアもハイフンに置き換えられる。
これを、アンダースコアの場合はハイフン(指定したセパレータ記号)に置き換えないようにするための方法。

pathauto.module// Preserve alphanumerics, everything else becomes a separator 部分に修正を加える。
修正によって追加された部分を強調表示しています。

  // Preserve alphanumerics, everything else becomes a separator
  $pattern = '/[^_a-zA-Z0-9]+/ ';
  $output = preg_replace($pattern, $separator, $output);

[^a-zA-Z0-9] を [^_a-zA-Z0-9] にように、アンダースコア(_)を条件に追加しただけです。
[^_a-zA-Z0-9] = \W なので、\W を利用した方がすっきりしているのかもしれません。

トラックバック

トラックバックは承認後に表示されます。

URLから "-nospam" を削除してトラックバックを送信してください。