【问题标题】:How to split a string by space in laravel? [closed]如何在laravel中按空格分割字符串? [关闭]
【发布时间】:2021-08-19 20:11:23
【问题描述】:

假设,在标题列数据是这样存储的

$title = "We are a completely vertically integrated company which ...."

我想像这样让他们看到

   <h1>We are</h1>
   <h2>a completely vertically</h2>
   <h3>integrated company which ....</h3>

我这样拆分标题

$parts = explode(" ", $title);

但是现在,我怎样才能将这些部分加入到我想要的输出中?

【问题讨论】:

  • 您究竟在寻找什么?针对这一特定情况的解决方案还是通用解决方案?如果这是您所追求的通用解决方案,则必须详细说明您的单词分组规则。
  • 为什么不直接将 HTML 放入字符串中所需的位置?例如$title = "&lt;h1&gt;We are&lt;/h1&gt;&lt;h2&gt;a completely ...";
  • 标题具有误导性:您似乎不想按每个空格分割字符串。因此,某些空间必须与其他空间不同才能使其发挥作用。是什么让这些空间与众不同?其背后的规律是什么?

标签: php laravel string


【解决方案1】:

您可以使用 array_shift() 将第一个元素从数组中移出。从数组中移出 h1 的前 2 个字,为 h2 移动接下来的 3 个字,并为 h3 内爆其余的数组元素

$title = 'We are a completely vertically integrated company which ....';
$parts = explode(' ', $title);

$html = '<h1>' . array_shift($parts) . ' ' . array_shift($parts) . '</h1>';
$html .= '<h2>' . array_shift($parts) . ' ' . array_shift($parts) .  ' ' . array_shift($parts) . '</h2>';
$html .= '<h3>' . implode(' ', $parts) . '</h3>';
    
echo $html;

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值
猜你喜欢
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 2010-09-24
  • 1970-01-01
  • 1970-01-01
  • 2017-03-09
相关资源
最近更新 更多