TOP ▲ itcore TOP プログラムパーツ

uStrConvSp1 連続空白(半角全角混在)を1つの半角空空白にする。 | itcore 2017年

PHP関数

<?php
// 連続空白(半角全角混在)を1つの半角空空白にする。
function uStrConvSp1($text) {
  $text1 = "";
  $is_sp = false;
  $mblen = mb_strlen($text);
  for ($i = 0; $i < $mblen; $i++) {
    $s1 = mb_substr($text, $i, 1);
    if ($s1 == " " || $s1 == " ") {
      if ($is_sp) continue; // 連続空白を飛ばす。
      $text1 .= " "; // 半角空白をセット
      $is_sp = true; // 空白の途中
    } else {
      $text1 .= $s1; // 空白以外
      $is_sp = false; // 空白の途中でない
    }
  }
  return $text1;
}
?>

単体テスト 実行

<?php include "uStrConvSp1.func"; ?>
<?php
  $str = "  1   2 3 "; $ret = uStrConvSp1($str); echo "str=[$str] ret=[$ret]<br>\n";
  $str = "   "; $ret = uStrConvSp1($str); echo "str=[$str] ret=[$ret]<br>\n";
  $str = " 全 角 "; $ret = uStrConvSp1($str); echo "str=[$str] ret=[$ret]<br>\n";
?>

<?php include "uJsClose.func"; print(uJsClose()); // 閉じるボタン ?>