0
permalinksを作成する関数を作成しようとしています。 複数のダッシュを入れずにパーマリンクを作成するにはどうすればよいですか?
public function createPermalink($permalink)
{
$new_perma = strtolower($permalink);
$searchsigns = array('Ö', 'Ä', 'Ü', 'ß', '-', '_', ' ', 'ö', 'ä', 'ü');
$replaces = array('oe', 'ae', 'ue', 'ss', '', '-', '-', 'oe', 'ae', 'ue');
$new_perma = str_replace($searchsigns, $replaces, $new_perma);
$new_perma = preg_replace('/[^a-z0-9_-]/isU', '', $new_perma);
return $new_perma;
}
今すぐ変数$パーマリンクがあること5つの空き領域を言うだろうと想像(意味がありませんが、ユーザーは、おそらくそれを入力することができます): これは私が今まで持っているものです。さて、$ new_permaは
-----
となるでしょう。問題があるので、URLには
-
が1つしかありません。明らかに、私は最後にstr_replaceを使って、2、3、4、5 ...の後ろをダッシュで置き換えることができました。しかし、可能な限りの量のダッシュに対して検索パターンを指定する必要があります。ですから、変数$ new_parma内のダッシュをすべて削除する方法が必要です。
$new_perma = preg_replace('/-+/', '-', $new_perma);
+
手段「一つ以上の」:
文字をアクセント記号に置き換えますか?たとえば、ñから – phpheini
まであります。いくつかの使用例を見るために、要点の2番目のファイルを見てください。 – rodneyrehm
あなたの機能を使って、とても素敵です!どうもありがとう! – phpheini