2012-04-03 7 views
0

preg_match_allに問題があります。 私はそれにいくつかのPHPコードを含む文字列を持っています。 <?php ?>のコードを取得したいのですが、動作していないようです。 JSでルールをテストしていますが、正しく動作しますが、PHPではルールが正しく動作しません。 これは多分あなたは、私が行方不明です何かを見つけることができ、私のコードです:事前にPHP preg_match_allを使用してPHPコードを取得する

$contents = "<?php 
    echo 'my test'; 
?> 
<b>This is html text </b>"; 
echo preg_match_all('/(<\?php).+(\?>)/', $contents, $code); 

おかげで、 デニスR.

答えて

2
<?php 
$contents = "<?php 
    echo 'my test'; 
?> 
<b>This is html text </b>"; 
preg_match_all('#(<\s*\?php)(.*?)(\?\s*>)#msi', $contents, $matches); 
var_dump($matches); 
?> 

それは.はせずに、改行と一致しなかったことであったかもしれませんs修飾語。

+1

アラム、ありがとう、私の問題を解決しました。私はこの問題のためにナッツに行くと思った。再度、感謝します。 – DenisR

0
<?php 
$contents = "<?php 
    echo 'my test'; 
?> 
<b>This is html text </b>"; 
preg_match_all('~(<\?php)(.+)(\?>)~Uis', $contents, $matches); 
var_dump($matches); 
関連する問題