$content = "[2][6][11]";
これは値[2]、[6]、[11]の配列に分割したいと考えています。分割文字列とメイク配列、正規表現
preg_split("/\[*\]/i", $content);
間違った出力:配列([0] => [2 [1] => [5 [2] =>)
正規表現で間違っているものをすべてのヘルプ。
ありがとうございました。
$content = "[2][6][11]";
これは値[2]、[6]、[11]の配列に分割したいと考えています。分割文字列とメイク配列、正規表現
preg_split("/\[*\]/i", $content);
間違った出力:配列([0] => [2 [1] => [5 [2] =>)
正規表現で間違っているものをすべてのヘルプ。
ありがとうございました。
あなたはこのsplit
のために前後参照を使用することができます。
$content = "[2][6][11]";
print_r(preg_split('/(?<=\])(?=\[)/', $content));
出力:
Array
(
[0] => [2]
[1] => [6]
[2] => [11]
)
lookaroundsを使用すると、一致することなく見つけたい位置の文字が何であるかをテストできます。
print_r(preg_split('~(?<=])(?=\[)~', $content));
あなたはすでにあなたの文字列をフォーマットする方法を知っていれば、あなたはまた、より単純なパターンでpreg_match_all
を使用することができます:~\[\d+]~
またpreg_match_all
でそれを行うことができます。
$content = "[2][6][11]";
preg_match_all("/\[.*\]/Ui", $content, $matches);
$result = $matches[0];
print_r($result);
出力:
Array
(
[0] => [2]
[1] => [6]
[2] => [11]
)
'preg_split( "/ \ hの* [] [] /"、$コンテンツ、-1、PREG_SPLIT_NO_EMPTY) ' – devpro
中括弧の間の数字であることが保証されている場合、この正規表現パターンは' /(\ [\ d + \])/ 'で動作します。 – jhmckimm
中括弧の中に数字だけがあると仮定して 'preg_split(" /(\ [[0-9] + \])/ "、$ content);' –