方法1: mb_strlenとmb_substrを使用する方法
function trimString($string, $maxLength) {
if (mb_strlen($string) > $maxLength) {
$trimmedString = mb_substr($string, 0, $maxLength);
return $trimmedString;
}
return $string;
}
// 使用例
$originalString = "長すぎる文字列の例";
$trimmedString = trimString($originalString, 10);
echo $trimmedString; // 出力: "長すぎる文字列"
この方法では、mb_strlen
関数を使用して文字列の長さを取得し、mb_substr
関数を使用して指定の長さまでの部分文字列を取得します。
方法2: mb_strimwidthを使用する方法
function trimString($string, $maxLength) {
if (mb_strlen($string) > $maxLength) {
$trimmedString = mb_strimwidth($string, 0, $maxLength, '...');
return $trimmedString;
}
return $string;
}
// 使用例
$originalString = "長すぎる文字列の例";
$trimmedString = trimString($originalString, 10);
echo $trimmedString; // 出力: "長すぎる..."
この方法では、mb_strimwidth
関数を使用して文字列を指定の長さまでトリムし、必要に応じて末尾に省略記号(ここでは「...」)を追加します。
方法3: 正規表現を使用する方法
function trimString($string, $maxLength) {
if (mb_strlen($string) > $maxLength) {
$trimmedString = preg_replace('/\s+?(\S+)?$/', '', mb_substr($string, 0, $maxLength + 1));
return $trimmedString;
}
return $string;
}
// 使用例
$originalString = "長すぎる文字列の例";
$trimmedString = trimString($originalString, 10);
echo $trimmedString; // 出力: "長すぎる文字列"
この方法では、正規表現を使用して指定の長さまでの部分文字列を取得し、末尾の単語や空白をトリムします。
これらの方法を使って、指定の長さ以上の文字列をトリムすることができます。適切な方法を選択し、自分の要件に合わせてコードを調整してください。また、mb_ 関数はマルチバイト文字列を正しく扱うために使用されます。