2011-01-16 22 views
2

私は、タイトルをURLにやさしいものに変換するスクリプトを作成しました。

すなわち:

'I am a title' 

'I_am_a_title' 

私のスクリプトは基本的に通過し、アンダースコアにスペース、アポストロフィ、コンマなどなどをオンになります。

問題は、このように時々私のURLの末尾までです:末尾のアンダースコアと

'i_am_a_title_' 

...

ので、私は理解し、通過してかどうかを確認するために検索するための少しを追加最後の文字は最終結果のアンダースコアで、そうであればスワップします。

私はstrrchr()関数を調べましたが、私は自分自身の理解の壁にぶつかっているようです。

どのようなことが達成されましたか? PHPのtrim()関数は、文字列の両側に、あなたはそれが必要なものを行います

+0

それ。 'trim()'は、文字列の先頭と末尾にある空白(および指定した他の文字)を削除します。 –

答えて

13

$slug = trim($slug, '_'); 

機能を扱うことができるようあなたも、あなたがしたい場合はアンダースコアに特殊文字を変更する前にこれを実行することができ複数の異なる文字を切り捨てる。あなたのクリーニングを行った後

3

、あなたは単に末尾のアンダースコアを削除するには、このコードを使用することができます:

$mystr = rtrim($text, '_'); 
2
$without_starting_or_ending_underscores = trim($original, '_'); 

あなただけの、末尾のものを削除する代わりにrtrim()を使用したい場合。

1

チェックアウトrtrim。このような

1

何か、

YOUR_STRING=rtrim(YOUR_STRING,'_'); 

RTRIMはあなたの文字列の末尾から指定した文字を削除します。あなたはおそらく、あなたのプロセスの前に、文字列の[ `トリム()`](http://php.net/manual/en/function.trim.php)コマンドを使用します http://php.net/manual/en/function.trim.php

/ヴィクトル

関連する問題