我正在尝试拆分字符串,字符串是(在MySQL中):
"Accident (&); Travel;Car (&); Motorcycle."
你知道,实际上我只想在数组中使用两个元素,[0]将是:"Accident & Travel, [1] would be the Car & Motorcycle
"。
我为此使用了分隔符(explode)并使用(&#34 ;;")强加了分隔符。
现在,问题是,MySQL中的符号"&"
是翻译成(&);
(没有括号),意思是现在我的字符串被拆分,就像它们有4个元素而不是2:
"[0] = Accident &, [1] = Travel, [2] = Car &, [3] = Motorcycle.
"
我该如何解决这个问题?之前我听说过preg_split,但我不确定如何使用它。
我使用的php爆炸:
"$string = "Accident (&); Travel; Car (&); Motorcycle";
$points = explode(";", $string);
?> <ul> <?php
for ($x = 0; $x < count($points); $x++) {
echo "<li>$points[$x]</li>";
}"
答案 0 :(得分:1)
它不是很清楚,但如果我正确地阅读了这个问题,那么这些值将存储在数据库中而不带括号。所以:
Accident & Travel;Car & Motorcycle.
然后看起来字符串在存储之前使用类似htmlspecialchars
的字符进行编码。
要解码它们,您可以在爆炸前使用htmlspecialchars_decode()
。
然而,这真的不是必要的:
答案 1 :(得分:0)
// original string
$string = "Accident & Travel;Car & Motorcycle.";
// replace the troublesome '&' string
$string = str_replace('&', '&', $string);
// split the string at the remaining ';'
$points = explode(";", $string);