HTML メニューがいくつかあります。最大幅は 990px です。今、私は配列からこのメニューを印刷し、これらのメニュー list( <li>
) を 1 行で作成したいと考えています。保存された計算のために、パディング スペースまたは各メニュー リストを削除します。foreach から合計単語数を 200 文字以内に制限するにはどうすればよいですか? 私のコードでは、配列を文字列にグループ化してから、文字列の長さを切り取ります。これは良い考えではありません。
$a = array("item1","item2","item3" ... "item30");//'item' would be change to any other words.
foreach($a as $b){
$c.=$b.'|';
}
function limitString($string, $limit = 200) {
if(strlen($string) < $limit) {return $string;}
$regex = "/(.{1,$limit})\b/";
preg_match($regex, $string, $matches);
return $matches[1];
}
$d = explode('|',limitString($c));
foreach($d as $e){
echo '<li><a href="">'.$e.'</li>';
}
たとえば、 の 200 番目の文字をitem20
に分割する必要がある場合item19
、この foreach で 19 個のメニュー リストを出力します。