6

ご支援いただきありがとうございます。たとえば、32 文字の文字列があります。まず、文字列が最大 32 文字であることを確認し、文字が 9 などの場合は空白を追加します。

例:

ABCDEFGHI ---> 9 文字

これ欲しい:

ABCDEFGHI_ _ _ _ _ _ _ _ ---> 9 文字 + 23 個の空白スペースが自動的に追加されます。

ありがとうございました

4

8 に答える 8

7

お探しの機能はstr_pad.

http://php.net/manual/de/function.str-pad.php

$str = 'ABCDEFGHI';
$longstr = str_pad($str, 32);

デフォルトの埋め込み文字列はすでに空白です。

最大長は 32 である必要がありstr_pad、文字列が 32 文字を超える場合は何も実行されないため、次を使用して短くすることをお勧めしますsubstr

http://de.php.net/manual/de/function.substr.php

$result = substr($longstr, 0, 32);

これもまた、文字列の長さがちょうど 32 文字の場合は何のアクションも実行しないため、常に 32 文字の文字列になってしまいます$result

于 2012-07-19T09:03:57.343 に答える
1

str_padを使用します。

str_pad('ABCDEFGHI', 32);
于 2012-07-19T09:03:59.060 に答える
1

使用str_pad機能:

$result = str_pad($input, 32, " ");
于 2012-07-19T09:04:24.980 に答える
1

あなたが必要str_pad

$padded = str_pad($in,32,' ');

左または右にパッドを入れることができ、たくさんのオプションがあります。ここですべてをチェックしてください

入力が 32 文字を超えた場合、アクションは実行されませんが、実装するのは簡単なチェックです:

if (strlen($padded) > 32)
{
    throw new Exception($padded.' is too long');//or some other action
}
于 2012-07-19T09:04:46.593 に答える
0

私は PHP 開発者ではありませんが、これはあなたが望むものだと思います。

于 2012-07-19T09:06:22.427 に答える
0
for($i=0;$i<(32-strlen($your_string));$i++)
{ 
    $new_string.=$your_string.' '
}

それがあなたに役立つことを願っています

于 2012-07-19T09:12:41.650 に答える
-3
$str = "ABCDEFGHI";
for ($i = 0; $i < 23; $i++) {
    $str .= "&nbsp;";
}

これはあなたが望むものですか?

他のコメントを見たとき、それが最善の解決策になります。

于 2012-07-19T09:04:11.097 に答える