以下を考慮してください。私は、それらの間の文字(および/または数字)のanynumberと中括弧は{タグ}、上の文字列を分割している:タグ上の文字列を分割し、空の結果を削除してください
$string = "Lorem {FOO} ipsum {BAR} dolor {FOO:bar} samet";
$temp = preg_split('/(\{.*?\})/', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
得られた配列($のTEMP)は:
Array (
[0] => Lorem [1] => {FOO} [2] => ipsum [3] => {BAR}
[4] => dolor [5] => {FOO:bar} [6] => samet
)
しかしながら
、$文字列のような、タグで終わる場合:次に
$string = "Lorem {FOO} ipsum {BAR} dolor {FOO:bar}";
得られた配列($温度)(この場合、#6)空の要素が含ま:
Array (
[0] => Lorem [1] => {FOO} [2] => ipsum [3] => {BAR}
[4] => dolor [5] => {FOO:bar} [6] =>
)
明らかに、これは空の値をチェックすることで削除できますが、私の考えでは最もエレガントな方法ではありません。結果の配列に空の要素を持たないことに代わる(おそらく正規表現ごとに)代替がありますか?
この式の出力がある:配列([0] => Lorem [1] => {FOO} [2] => ipsum [3] => {BAR} [4] => dolor {FOO:bar}) - 最終的に "dolor"と{FOO:bar}配列要素。私が探しているのは、Array([0] => Lorem [1] => {FOO} [2] => ipsum [3] => {BAR} [4] => dolor [5] => { FOO:bar})を{FOO:bar}と一緒に使用します。これはあなたがやろうとしたことですか、あなたのコメントを正しく理解できませんでしたか? – Pr0no
私は途中で保存ボタンを押しました。申し訳ありません。今すぐ完全な答えを見てください... – rodneyrehm