古い OsCommerce インストールからのこのコード スニペットがあります。
$pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
? "([^[:alnum:]])+"
: "([[:punct:]])+";
[:punct:] セレクターを変更して、- ダッシュを除外したいと思います。
次のコード行は
$anchor = ereg_replace($pattern, '', strtolower($string));
以前に見つかった文字を削除します。どうすればダッシュを維持できますか?
ありがとう、マリオ
編集
私はそれを得たと思います:
$pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
? "([^[:alnum:]])+"
: "([^-a-zA-Z0-9[:space:]])+";
注: ダッシュが最初に来る必要があります。または、アンダースコアの場合:
$pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
? "([^[:alnum:]])+"
: "([^a-zA-Z0-9_[:space:]])+";
否定的な先読みの使い方がわかりませんでした:(。乾杯。マリオ