$post_name = strtolower(preg_replace('/[^a-z0-9]+/i', '-', $post_title));
このコードは、投稿のタイトルの末尾にスペースまたは)を付けるとエラーになります。 これを修正するには? それはどういう意味ですか?'/[^a-z0-9]+/i'
?wordpressのpost_nameにpreg_replace関数を使う方法は?
ありがとうございました。
$post_name = strtolower(preg_replace('/[^a-z0-9]+/i', '-', $post_title));
このコードは、投稿のタイトルの末尾にスペースまたは)を付けるとエラーになります。 これを修正するには? それはどういう意味ですか?'/[^a-z0-9]+/i'
?wordpressのpost_nameにpreg_replace関数を使う方法は?
ありがとうございました。
[OK]を..
はこれを試してみてください。「 - 」小文字、それは動作しません
$string = trim(strtolower("This is my article (part 1) "));
$string = preg_replace("/[^a-z0-9]+/i", "-", $string);
$string = preg_replace("/-$/", "", $string);
私がコメントで書いたように、私はこの問題は、()は、それを作るしようとするstrtolowerであると信じています。 まず、普通の文字を小文字にしてから、pregreplaceを使ってa - を作る。 そして最後に削除するプレグレプレイスを2つ追加します。
最初の2行はおそらくに行うことができます。
$string = preg_replace("/[^a-z0-9]+/i", "-", trim(strtolower("This is my article (part 1) ")));
しかし、私はそれを明確にしたかった、コード
の各ステップではなく、もう一方の端に開始することができます。あなたはタイトルとして何を許可したいですか?何か?または何か制限はありますか? – Andreas
ここでは、preg_replaceの動作をhttp://www.phpliveregex.com/p/fiJで確認できます(preg_replaceボタンを先に押してください)。この関数は、a-zおよび0-9を除くすべての文字を ' - 'で置き換えます。私はそれがpreg_replaceではなくエラーを生成するstrtolower()だと思います。上記のように、あなたが何をしたいのか私に教えてください。誰かがあなたを助けます。 – Andreas
地球が呼んでいますので、拾ってください。 – Andreas