TOP ▲
itcore TOP プログラムパーツ
uChomp 行末の改行コードを取り除く。CRLF LF CR | itcore 2018年
PHP
関数
<?php
//行末の改行コードを取り除く。CRLF LF CR
function uChomp($line) {
$cr = chr(13); $lf = chr(10);
$s2 = substr($line, -2);
$s1 = substr($line, -1);
if ("$cr$lf" == $s2) return substr($line, 0, strlen($line) - 2);
if ($lf == $s1) return substr($line, 0, strlen($line) - 1);
if ($cr == $s1) return substr($line, 0, strlen($line) - 1);
return $line;
}
?>
テスト
<?php include "uChomp.func"; ?>
<?php include "uHexDump.func"; ?>
<?php
$cr = chr(13); $lf = chr(10);
$ret = "1$cr$lf"; echo "ret = " . uHexDump($ret) . "<br>\n";
$ret = uChomp($ret); echo "ret = " . uHexDump($ret) . "<br>\n";
$ret = "2$lf"; echo "ret = " . uHexDump($ret) . "<br>\n";
$ret = uChomp($ret); echo "ret = " . uHexDump($ret) . "<br>\n";
$ret = "3$cr"; echo "ret = " . uHexDump($ret) . "<br>\n";
$ret = uChomp($ret); echo "ret = " . uHexDump($ret) . "<br>\n";
?>
実行結果
ret = 310d0a
ret = 31
ret = 320a
ret = 32
ret = 330d
ret = 33