0

アプリにスラッグを保存するために投稿タイトルをサニタイズする次のコードがあります。

$post_title = Sanitize::html($this->request->data['Post']['title'], array('remove'=>true, 'quotes' => ENT_NOQUOTES));
                $post_title = String::truncate($post_title, 50, array('exact'=>false,'html'=>false,'ending'=>''));
                $this->Post->saveField('slug', Inflector::slug($post_title));

誰かがそれを持ち出した場合に備えて。私はスラッガブルプラグインを知っていますが、手動で行うことを好みます!

ただし、アンパサンドはインフレクターに「amp」として保存されます。ですから、語尾変化の段階の前に、「&」を「and」に変換しようとしています。

PHPでこれを行うにはどうすればよいですか?str_replace関数を見てきました。これは正しいでしょうか?

たとえばstr_replace('&','and',$post_title)、カウントパラメータはどうですか?任意の提案やアイデアをいただければ幸いです。

ありがとう

4

1 に答える 1

1

str_replace('&','and',$post_title)正しい。countパラメーターは必要ありません。これにより、のすべてのインスタンスがに置き換え&られますand

明らかに文字列が多くなるため、文字列を切り捨てる前にこれを実行することをお勧めしますand

于 2012-12-14T15:29:23.103 に答える