【问题标题】:Explode a special string in PHP在 PHP 中分解一个特殊的字符串
【发布时间】:2015-01-05 14:23:25
【问题描述】:

我有一个烦人的问题。我无法分解字符串“animation<br> adventure<br> action”。我需要删除“<br>”(带有空格)并将结果放入数组中。

有人可以帮我解决这个问题吗?

我试过了:

$genre = explode("<br> ", $genre);
$genre = explode( "<br>\n", $genre)
$genre = preg_split('/<br[^>]*>\s*/i', $genre);

下面的代码给了我( [0] =&gt; animation&lt;br&gt; [1] =&gt; adventure&lt;br&gt; [2] =&gt; action )

$genre = explode(" ", strip_tags($genre));

但我需要摆脱“&amp;lt;br&amp;gt;”。

更新

如果我使用它会起作用:

$genre = "animation<br> adventure<br> action";
$genre = explode("<br> ", $genre);

但如果我使用从数据库中获取结果的$genre,则不会。在$genre 里面我已经保存了字符串。如果我打印$genre,它看起来像“animation&lt;br&gt; adventure&lt;br&gt; action”。数据库的结果不会爆炸,为什么?

【问题讨论】:

  • 完成了任何基本的调试,比如检查字符串中是否真的有&amp;lt;br&amp;gt;,而不是&amp;lt;br&amp;gt;
  • 不,抱歉,这行得通 -> $genre = explode("&amp;lt;br&amp;gt;", $genre);

标签: php arrays explode


【解决方案1】:

解决方案

$genre = explode("&lt;br&gt;", $genre);

感谢@Marc B。

【讨论】:

  • 哦...我不敢相信我也犯了这个错误... Facepalm...我怎么会忘记?
【解决方案2】:

这工作得很好。

$genre = "animation<br> adventure<br> action";
$genre = explode("<br> ", $genre);

print_r($genre);

Here's结果

【讨论】:

  • 嗯,当我像你一样这样做时,它可以工作,但是当我从数据库中获取$genre 时,它就不起作用了。 :S
  • @Treps 故事的寓意是,将数据存储在数据库中的人应该更加小心。
【解决方案3】:

您可以在&lt;br&gt; 上爆炸,然后在每个元素上使用trim() 以消除字符串开头和结尾的空格:

$array = array()
foreach(explode('<br>', $string) as $value){
    $array[] = trim($value);
}

【讨论】:

    【解决方案4】:

    您可以使用 strip_tags 删除所有 html 标记。第二个参数(可选)可以填充您不想删除的标签。查看文档/手册了解更多信息。

    【讨论】:

      【解决方案5】:

      你可以用 str_replace 来做

      $genre = str_replace('<br> ', ' ', $genre);
      $genre = explode(' ', $genre);
      

      如果您的字符串包含空格,您也可以使用任何符号来拆分您的 $genre。

      $genre = str_replace('<br> ', ',', $genre);
      $genre = explode(',', $genre);
      

      【讨论】:

      • 仍然给我:( [0] =&gt; animation&lt;br&gt; [1] =&gt; adventure&lt;br&gt; [2] =&gt; action )
      • 你应该修正你的答案来处理包含空格的字符串(例如adventures&lt;br&gt; even better adventures
      • @Treps 然后我会坚持 Marc B 的评论,看来您的字符串不包含“
        ”而是一个编码版本
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 2016-10-07
      相关资源
      最近更新 更多