我想用括号拆分字符串,但是我的数组有一些额外的空值。用括号将字符串拆分
我尝试使用已回答的类似问题的代码,它分割了字符串,但也添加了空值。
// faq data
$faq = "SELECT * FROM `web_content` WHERE catid = 13 AND `alias` = '".$conn->real_escape_string($_GET['alias'])."' AND state = 1 ORDER BY ordering";
$faqcon = $conn->query($faq);
$faqcr = array();
while ($faqcr[] = $faqcon->fetch_array());
$faqtext = $faqcr[0]['introtext'];
$arr = preg_split('/\h*[][]/', $faqtext, -1, PREG_SPLIT_NO_EMPTY);
echo '<pre>';
print_r($arr);
echo '</pre>';
阵列的输出是这样的:
Array
(
[0] =>
[1] => Vraag1? || Antwoord1
[2] =>
[3] => Vraag2? || Antwoord2
[4] =>
[5] => Vraag3? || Antwoord3
[6] =>
)
我的字符串如下所示:
<p>[Vraag1? || Antwoord1]</p>
<p>[Vraag2? || Antwoord2]</p>
<p>[Vraag3? || Antwoord3]</p>
的<p>
标签是不相关的,我不是那些分裂和我可以之后使用带状标签。
输出答案:
Array
(
[0] => Array
(
[0] => [Vraag1? || Antwoord1]
[1] => [Vraag2? || Antwoord2]
[2] => [Vraag3? || Antwoord3]
)
[1] => Array
(
[0] => Vraag1? || Antwoord1
[1] => Vraag2? || Antwoord2
[2] => Vraag3? || Antwoord3
)
)
看起来像你只需要''/ \ s * [] [] /''还可以匹配垂直空格(也就是说,如果您去掉了标签,然后用换行符得到输入字符串 - 请参阅https://ideone.com/l542yN)。 –
@WiktorStribiżew这仍然给我空阵列值 – twan