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" を削除してトラックバックを送信してください。