で始まると確信しているテキスト ブロックがあるとし<?php
ます。元のテキストから最初の php コード ブロックを抽出するにはどうすればよいでしょうか。
テキスト例:
<?php
echo "uh oh... \"; ?> in a \"; // string... ?>";
echo 'uh oh... \\\'; ?> in a /* string ?> */...';
// ?> nope not done
/*
?> still not done
*/
echo "this should be echoed too";
?>
this is even more text...
PHPコア関数を使用する必要があると思いますtoken_get_all
が、それを使用して元の文字列から削除するPHPブロックのサイズを取得する方法がわかりません。その関数は、PHP ブロックの最後に到達したことを明らかに認識しています。すべてのテキストを PHP に渡すことはできません。なぜなら、これは他の多くの処理層に深く関わっているからです。
そのため、最終結果には、これを含む PHP ブロックの末尾の外側に文字列が残るはずです: (前に空白がある場合)
this is even more text...
別の文字列で解析された PHP コード:
<?php
echo "uh oh... \"; ?> in a string...";
echo 'uh oh... \\\'; ?> in a string...';
// ?> nope not done
/*
?> still not done
*/
echo "this should be echoed too";
?>