ファイルパスから非文字をすべて削除しようとしていますが、最後に拡張子を残す必要があります。Regexは非文字を ' - 'で置き換えますが、ピリオドは残します。
ファイルの例: $text = cat.jpg
私はこの$text = preg_replace('/[^\\pL\d]+/u', '-', $text);
結果使用して、現在の午前:cat-jpg
をしかし、これはまた、同様にハイフンに任意の期間を変換し、私は周りを見回したと私は他の記事から見つけたものを試してみましたしかし、彼らはすべて一緒に期間を削除しました。
助けていただければ幸いです。
あなたは、検索のための交代と否定先読みに基づいて、この正規表現を使用することができます
'cat.super-fluffy2.jpg.b_ak'はどうすればいいですか? – MonkeyZeus
@MonkeyZeus難しいかもしれないが、おそらくこれはcat-super-fluffy2-jpg.b-ak –
本当ですか?それはあなたのタイトルや質問体の記述と一致せず、受け入れられた答えはあなたの期待に合わないでしょう。 – MonkeyZeus