基本的に、2つの別々のBBCodeのようなタグの複数の出現を探すためにテキストの大きな文字列を検索し、それらの間のデータを取得する手段が必要です。例えば:
$string = "Referenced section of text[ref]Reference text[/ref]";
$getStringBetween = gsb($string, "[ref]", "[/ref]";
echo $getStringBetween; //Would output "Reference Text"
以前preg_match_all
は文字列を検索していましたが、最初は機能していましたが、比較的信頼性が低いことがわかりました。それが機能したときは良かったのですが、その後まもなく、1つの配列キーの最初の参照タグと最後の参照タグの間のすべてが壊れて出力されました。
もう1つの大きな問題は、[ref][/ref]タグが機能するために独自の行にある必要があることです。
私の話の教訓として、2つの特定のテキスト文字列を探し、PHPを使用してそれらの間のデータを取得するための何らかの手段が必要です。