具有定义字符长度的字符串中的拆分字符

时间:2017-07-05 02:02:44

标签: php html

创建表单时,我有一个约束,可以根据php中的字符水平显示表列中的值。像下面的例子。如何根据列分隔每个字符?



<div style="display:inline;">
Name : 
<table style="display:inline; position:absolute" width="400" border="1">
  <tr>
    <td width="28"><div align="center">I</div></td>
    <td width="28"><div align="center">R</div></td>
    <td width="28"><div align="center">W</div></td>
    <td width="28"><div align="center">A</div></td>
    <td width="28"><div align="center">N</div></td>
    <td width="28"><div align="center"></div></td>
    <td width="28"><div align="center">D</div></td>
    <td width="28"><div align="center">W</div></td>
    <td width="28"><div align="center">I</div></td>
    <td width="28"><div align="center"></div></td>
    <td width="28"><div align="center"></div></td>
    <td width="28"><div align="center"></div></td>
    <td width="28"><div align="center"></div></td>
    <td width="28"><div align="center"></div></td>
  </tr>
</table>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

我看到你为字符串定义了14个字符。所以,当字符串长度低于14时,它将填充空字符。请试试这个

<?php
define('TEXT_LENGTH', 14);
$string = 'IRAWAN DWI';
$formattedText = str_pad($string, TEXT_LENGTH, ' ', STR_PAD_RIGHT); 
$arrayText =  str_split($formattedText);
?>

<div style="display:inline;">
Name : 
<table style="display:inline; position:absolute" width="400" border="1">
  <tr>
    <?php foreach ($arrayText as $char): ?>
      <td width="28"><div align="center"><?php echo $char; ?></div></td>
    <?php endforeach ?>
  </tr>
</table>

答案 1 :(得分:0)

如果你的意思是将字符与字符串分开并将它们水平插入到表中,那么这个php函数可以解决问题

function sep($str){
$leng = strlen($str);
echo '<div style="display:inline;">';
echo 'Name :' 
echo '<table style="display:inline; position:absolute" width="400" border="1"><tr>';
for ($i=0;$i<= $leng-1;$i++){
    $chr = substr($srt,$i,1);
    echo '<td width="28"><div align="center">'.$chr.'</div></td>';
    }
    echo   '</tr></table></div>';
}

你只需从你的php中调用该函数

sep('IRWAN DWI');

或者如果您不想调用函数,只需添加此代码

    <?php 
    $str = IRWAN DWI';  
    $leng = strlen($str);
    echo '<div style="display:inline;">';
    echo 'Name :' 
    echo '<table style="display:inline; position:absolute" width="400" border="1"><tr>';
    for ($i=0;$i<= $leng-1;$i++){
            $chr = substr($srt,$i,1);
            echo '<td width="28"><div align="center">'.$chr.'</div></td>';
    }
    echo   '</tr></table></div>';
?>