この質問は、私はそれが単一または二重引用符内のタグを見つけたときに一致しないために、この正規表現/<\?.*?(?:\?>|$)/s
を拡張する必要がPHP's preg_match_all() to pull out all php tagspreg_match_all()PHPタグ
のパート2です。これは正規表現の直感的な理解を超えて、一致した引用型を逆参照することを伴います。
例HTML:
<?
// Test xml
$this->_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$this->_xml .= "<TransferredValueTxn xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" >\n";
$this->_xml .= "<?=$test?> <TransferredValueTxnReq>" . trans("test") . "\n";
?>
は、結果を希望:
[0] => "<?
// Test xml
$this->_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$this->_xml .= "<TransferredValueTxn xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" >\n";
$this->_xml .= "<?=$test?> <TransferredValueTxnReq>" . trans("test") . "\n";
?>"
私は肯定的ではありませんが、 'token_get_all()'がインラインPHPでHTMLを解析しないと言うことができる限り、私は達成しようとしているものです。 –
それはすべきです!ただし、 "本当の"インタプリタのように短いタグが有効になっている場合は、 '<?'のみを認識することに注意してください。 – duskwuff