2016.
07.
07
06:22:35
タイトルの通りです。
PHPのtrim()関数は、全角スペースを除去してくれません。
全角スペースも除去したい場合は、事前に、
とかやって、全角スペースを半角スペースに変換してからtrim()関数をかましてください。
※書くのが面倒くさいのでmb_ereg_replace()を例に出していますが、
これをやると途中の全角スペースも半角スペースになってしまいます。
こだわり派な人は正規表現による置換とかで対応してください。
それでは、詳細……と言うほどでもないですが、詳細を書いていきます。
うっかりしていましたが、PHPのtrim()関数って全角スペースを除去しないのですね。
例えば、こんなコードを実行するとφ(--)
こんな結果になりますφ(--)
半角スペースは除去されましたが、
全角スペースは残っています。
全角スペースも除去したければ、例えば、こんな感じのコードにしてφ(--)
事前に全角スペースを半角スペースに変換してください。
実行結果は、こんな感じになりますφ(--)
全角スペースも除外されましたね。
そんな感じ\(--)/
PHPのtrim()関数は、全角スペースを除去してくれません。
全角スペースも除去したい場合は、事前に、
$str = mb_ereg_replace(' ', ' ', $str);
とかやって、全角スペースを半角スペースに変換してからtrim()関数をかましてください。
※書くのが面倒くさいのでmb_ereg_replace()を例に出していますが、
これをやると途中の全角スペースも半角スペースになってしまいます。
こだわり派な人は正規表現による置換とかで対応してください。
それでは、詳細……と言うほどでもないですが、詳細を書いていきます。
うっかりしていましたが、PHPのtrim()関数って全角スペースを除去しないのですね。
例えば、こんなコードを実行するとφ(--)
<?php
$ary = array(
'後-半角 ',
'後-全角 ',
' 前-半角',
' 前-全角',
' 両-半角 ',
' 両-全角 '
);
print "■trim()前\n";
foreach($ary as $value){
print "'" . $value . "'\n";
}
print "\n■trim()後\n";
foreach($ary as $value){
print "'" . trim($value) . "'\n";
}
$ary = array(
'後-半角 ',
'後-全角 ',
' 前-半角',
' 前-全角',
' 両-半角 ',
' 両-全角 '
);
print "■trim()前\n";
foreach($ary as $value){
print "'" . $value . "'\n";
}
print "\n■trim()後\n";
foreach($ary as $value){
print "'" . trim($value) . "'\n";
}
こんな結果になりますφ(--)
■trim()前
'後-半角 '
'後-全角 '
' 前-半角'
' 前-全角'
' 両-半角 '
' 両-全角 '
■trim()後
'後-半角'
'後-全角 '
'前-半角'
' 前-全角'
'両-半角'
' 両-全角 '
'後-半角 '
'後-全角 '
' 前-半角'
' 前-全角'
' 両-半角 '
' 両-全角 '
■trim()後
'後-半角'
'後-全角 '
'前-半角'
' 前-全角'
'両-半角'
' 両-全角 '
半角スペースは除去されましたが、
全角スペースは残っています。
全角スペースも除去したければ、例えば、こんな感じのコードにしてφ(--)
<?php
$ary = array(
'後-半角 ',
'後-全角 ',
' 前-半角',
' 前-全角',
' 両-半角 ',
' 両-全角 '
);
print "■trim()前\n";
foreach($ary as $value){
print "'" . $value . "'\n";
}
print "\n■trim()後\n";
foreach($ary as $value){
$value = mb_ereg_replace(' ', ' ', $value);
print "'" . trim($value) . "'\n";
}
$ary = array(
'後-半角 ',
'後-全角 ',
' 前-半角',
' 前-全角',
' 両-半角 ',
' 両-全角 '
);
print "■trim()前\n";
foreach($ary as $value){
print "'" . $value . "'\n";
}
print "\n■trim()後\n";
foreach($ary as $value){
$value = mb_ereg_replace(' ', ' ', $value);
print "'" . trim($value) . "'\n";
}
事前に全角スペースを半角スペースに変換してください。
実行結果は、こんな感じになりますφ(--)
■trim()前
'後-半角 '
'後-全角 '
' 前-半角'
' 前-全角'
' 両-半角 '
' 両-全角 '
■trim()後
'後-半角'
'後-全角'
'前-半角'
'前-全角'
'両-半角'
'両-全角'
'後-半角 '
'後-全角 '
' 前-半角'
' 前-全角'
' 両-半角 '
' 両-全角 '
■trim()後
'後-半角'
'後-全角'
'前-半角'
'前-全角'
'両-半角'
'両-全角'
全角スペースも除外されましたね。
そんな感じ\(--)/