TipsTips(文字列関連)
改行コード統一
unknown
改行形式 | 改行コード | OS |
---|---|---|
CR+LF | \r\n | Windows |
CR | \r | Macintosh |
LF | \n | UNIX |
<?
/* [関数名] conv_LF
* [機 能] 改行コードを LF(\n)に統一
* [引 数]
* @param string $str 文字列
* [返り値]
* @return string $new_str 改行コードを統一した文字列を返す
*/
function conv_LF($str){
$new_str=str_replace("\r\n", "\n", $str);
$new_str=str_replace("\r", "\n", $str);
return $new_str;
}
?>
文字列折り返し
unknown
string chunk_split ( string $str[, int $chunklen[, string $end]] )
文字列strを、指定した文字数chunklen毎に、文字列endを挿入した新しい文字列を返します。
オプション第2引数chunklenのデフォルトは76文字。
オプション第3引数endのデフォルトはCRLF(\r\n
)。
<?
//文字列$tmpを10文字ごとに"<br>"を挿入して表示
$tmp = "12345678901234567890";
echo chunk_split($tmp, 10, "<br>");
/* [関数名] chunk_text
* [機 能] chunk_split()関数と同様の処理を行う関数
* 指定文字数で折り返し(マルチバイト対応)
* [引 数]
* @param string $str 文字列
* @param string $chunklen 1行分の長さ
* @param string $endtag 行末に挿入する文字列(改行コードなど)
* [返り値]
* @return string $new_str 指定文字数で折り返された文字列を返す
*/
function chunk_text($str, $chunklen, $endtag){
$new_str="";
$length=mb_strlen($str);
for($i=0; $i<$length; $i+=$chunklen){
$new_str.=mb_substr($str, $i, $chunklen).$endtag;
}
return $new_str;
}
$tmp="12345678901234567890";
echo chunk_text($tmp, 10, "<br>");
/* 実行結果:同様に10文字ごとに<br>が挿入されている
1234567890
12345
67890
*/
?>
文字列カット
unknown
<?
/* [関数名] moji_cut
* [機 能] 指定した文字数で文字列をカットし、省略マーク「...」付けて返す
* 制限文字数に満たない場合は、文字整形のみ実行
* [引 数]
* @param string $str カットする文字列
* @param string $maxlen 制限文字数
* [返り値]
* @return string $new_str カット後の文字列を返す
*/
function moji_cut($str, $maxlen){
//末尾の空白&改行コード除去
$new_str=trim($str);
//エンティティ変換
$new_str = htmlspecialchars($new_str);
//指定文字数でカットし、省略マークを挿入
if(strlen($new_str) > $maxlen){
$new_str=mb_substr($new_str, 0, $maxlen);
$new_str.="・・・";
}
return $new_str;
}
$tmp="コメントが長すぎる場合、一部を切り出して表示する時などに使えます。";
echo moji_cut($tmp, 10);
/* 実行結果
カット後の文字列コメントが長すぎる場・・・
*/
?>