在PHP代码块之间获取文本

时间:2011-06-17 17:13:03

标签: php regex

我想让RegEXP在PHP代码块之间获取文本

例如我有这个代码,我想得到TEXT 1和TEXT2

 <?php some code ?> TEXT1 <?php some code {?> TEXT2 <?php }some code?>

3 个答案:

答案 0 :(得分:4)

使用tokenizer代替正则表达式:

$input = '<?php some code ?> TEXT1 <?php some code {?> TEXT2 <?php }some code?>';

$tokens = token_get_all($input);
foreach ($tokens as $token) {
   if ($token[0] == T_INLINE_HTML) {
       echo $token[1];
   }
}

输出:

 TEXT1  TEXT2 

答案 1 :(得分:0)

有可能,因为你可以在php文件上使用file_get_contents(),它将返回原始内容而不解析PHP。至于正则表达式,我会在addbytes.com上推荐dave child的正则表达式cheatsheet。 http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/这应该有助于你为你的问题拼凑一个正则表达式。

答案 2 :(得分:0)

Mybe就像

  

(小于?= ^ |&GT;)[^&GT;&LT;] +?(= LT; |?$)