我想在输出中每隔4个字符后添加一个空格,直到字符串结束。我试过了:
$str = $rows['value'];
<? echo substr($str, 0, 4) . ' ' . substr($str, 4); ?>
这就给我留出了前4个字符后面的空格。
我怎么才能让它在每四个月之后才能显示出来呢?
发布于 2014-07-02 02:17:40
Wordwrap做的正是你想要的:
echo wordwrap('12345678' , 4 , ' ' , true )
将输出: 1234 5678
如果你想,比方说,每隔一位数字后加一个连字符,把"4“换成"2",把空格换成连字符:
echo wordwrap('1234567890' , 2 , '-' , true )
将输出: 12-34-56-78-90
Reference - wordwrap
发布于 2012-08-04 18:23:59
你见过这个叫做wordwrap的函数吗?http://us2.php.net/manual/en/function.wordwrap.php
这是一个解决方案。开箱即用,就像这样。
<?php
$text = "Thiswordissoverylong.";
$newtext = wordwrap($text, 4, "\n", true);
echo "$newtext\n";
?>
发布于 2018-05-15 13:26:03
这是一个字符串的例子,长度不是4的倍数(在我的例子中是5的倍数)。
function space($str, $step, $reverse = false) {
if ($reverse)
return strrev(chunk_split(strrev($str), $step, ' '));
return chunk_split($str, $step, ' ');
}
使用:
echo space("0000000152748541695882", 5);
成绩: 00000 00152 74854 16958 82
反向模式使用("BVR code“用于瑞士计费):
echo space("1400360152748541695882", 5, true);
成绩: 14 00360 15274 85416 95882
编辑 2021-02-09
对于EAN13条形码格式也很有用:
space("7640187670868", 6, true);
成绩:7 640187 670868
短句法版本:
function space($s=false,$t=0,$r=false){return(!$s)?false:(($r)?trim(strrev(chunk_split(strrev($s),$t,' '))):trim(chunk_split($s,$t,' ')));}
希望能对你们中的一些人有所帮助。
https://stackoverflow.com/questions/11807796
复制相似问题