私は以下の要件を満たしています。preg_replaceで出力文字列にハイフンを保持する方法
入力 ----------:z-edu-l1-^threat -emergency mk pl.jpg
必要 ----:私が使用z-edu-l1-_threat_-emergency_mk_pl.jpg
$input = 'z-edu-l1-^threat -emergency mk pl.jpg';
echo strtolower(preg_replace('/\W(?![^.-]*$)/', '_', trim($input)));
次私は出力を以下の取得
z_edu_l1__threat__emergency_mk_pl.jpg
- 記号をアンダースコアに置き換えたくありません。 preg_replaceで出力文字列にハイフンを保持するにはどうすればよいですか?
を参照してください? – RomanPerekhrest
@RomanPerekhrestはい特殊文字も削除する必要があります。 – Muk