php - 如何将 <bars 转换为 (PHP 中的无序列表?

标签 php arrays string

我有一个来自数据库的数组。数组包含由 <br> 分隔的字符串。所以我想分解它们并将其转换为

<ul>
    <li>...</li>
</ul> 

使用函数的结构( listIt($list) ):

function listIt($list)
{
  $list = mb_convert_case($list, MB_CASE_TITLE, 'UTF-8');
  $text = explode('<br>', $list);
  $menu = '<ul>';

  foreach ($text as $li)
  {
    $menu .= '<li>' .   $li . '</li>';
  }

  return $menu . '</ul>';
}

我的数组 ( rawMenu ) 如下:

 array (size=5)
  0 => string 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee' (length=62)
  1 => string 'Soup<br>Potato<br>Chicken<br>Fish<br>Juice<br>Wine<br>Salad' (length=61)
  2 => string 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee' (length=62)
  3 => string 'Soup<br>Potato<br>Chicken<br>Fish<br>Juice<br>Wine<br>Salad' (length=61)
  4 => string 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee' (length=62)

问题是我传递给 listIt($rawMenu[4]) 的字符串函数返回:

<ul>
   <li>Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee</li>
</ul>

最佳答案

发生这种情况是因为 MB_CASE_TITLE将第一个字母转换为大写( <Br> ),然后您必须在 Br 上进行拆分:

$st = 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee';
$list = mb_convert_case($st, MB_CASE_TITLE, 'UTF-8');
$text = explode('<Br>', $list);

$menu = '<ul>';
foreach ($text as $li){
  $menu .= '<li>' .   $li . '</li>';
}
$menu .= '</ul>';

print_r($menu);

输出:

<ul><li>Banana</li><li>Cheese</li><li>Egg</li><li>Salad</li><li>Water</li><li>Juice</li><li>Coffee</li></ul>

沙箱中的工作示例 here .

正如 @LightnessRacesinOrbit 的评论中所指出的,好的做法是交换爆炸和转换:

$st = 'Banana<br>Cheese<br>Egg<br>Salad<br>Water<br>Juice<br>Coffee';
$text = explode('<br>', $st);

$menu = '<ul>';
foreach ($text as $li){
  $menu .= '<li>' .   $li . '</li>';
}
$menu .= '</ul>';
$menu = mb_convert_case($menu, MB_CASE_TITLE, 'UTF-8');

print_r($menu);

关于php - 如何将 <bars 转换为 (PHP 中的无序列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611904/

相关文章:

php - 如何防止 "leakage"来自 css 文件的 html 信息

android - Android本地化:适用于所有语言的字符串资源文件

Java:打印出args数组中的所有整数

javascript - 如何在二维数组中找到字符串?

java - 如何优雅地解析字符串以得到您所需要的内容?

php - Facebook 仅返回 25 张照片

php - 无法从 mysql 数据库中获取特定行

php - 基于变量值构建查询字符串。错误在哪里?

python - 从 numpy 数组中选择 'some' 个随机点

javascript - 如何获取 javascript 64 位 float 的实际字节数