3

我试图将一个字符串分成两列,每列 6 行。问题是如果最后一行包含 (Ø,Æ,Å),即使第一行有空格,它也会跳到下一列。

似乎这是编码的问题,有人知道可能发生了什么吗?我用来生成列的代码是:

$iter = 6;
$str = $shortd;
$count_line = 0;
$str = $shortd;
for ($x=0; $x<$iter;){
  $pos = strpos($str,"<br />");
  $text = mb_substr ($str, 0, $pos + 6);
  $str = mb_substr ($str, $pos + 6);
  echo $text;
  $x++;
}
?>
</td>
<td>
<?
for ($x=$iter; $x<$iter + $iter;){
  $pos = strpos($str,"<br />");
  $text = mb_substr ($str, 0, $pos + 6);
  $str = mb_substr ($str, $pos + 6);
  echo $text;
  $x++;
}
?>
</td>
4

1 回答 1

5

strpos ()函数不支持多字节。您应该改用mb_strpos()。否则,您在处理位置时会混合字节和字符。

于 2012-12-07T09:25:35.900 回答