Я пытаюсь разбить строку по скобкам, но мой массив имеет некоторые дополнительные пустые значения.Сплит-строка по скобкам
Я попытался использовать код аналогичного вопроса, на который был дан ответ, и он разбивает строку, но также добавляет пустые значения.
// 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