在PHP中爆炸一个特殊的字符串

时间:2015-01-05 14:23:25

标签: php arrays explode

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

有人可以帮我这个吗?

我试过了:

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

以下代码为我提供了( [0] => animation<br> [1] => adventure<br> [2] => action )

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

但我需要摆脱“<br>”。

更新

如果我使用它,它会起作用:

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

但是,如果我使用$genre从数据库中获取结果,那就不行了。在$genre里面我保存了字符串。如果我打印animation<br> adventure<br> action,它看起来像“$genre”。数据库的结果不会爆炸,为什么?

5 个答案:

答案 0 :(得分:1)

<强>解决方案

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

感谢@Marc B。

答案 1 :(得分:0)

你可以用str_replace

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

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

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

答案 2 :(得分:0)

这很好用。

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

print_r($genre);

Here's结果

答案 3 :(得分:0)

你可以在<br>上爆炸,然后在每个元素上使用trim()来删除字符串开头和结尾的空格:

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

答案 4 :(得分:0)

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