我有一些 html 菜单,最大宽度为 990px。现在我想从一个数组中打印这个菜单,并将这些菜单列表(<li>
)放在一行中。删除填充空间或每个菜单列表,为了节省计算,如何将 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 个菜单列表。