0

どうやってそれをしてください?

<?php
$string = '<inc="file.php">';
return preg_replace('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#',include("$1"),$string);
?>

出力は $1 を返します

インクルード file.php を返す必要があります

4

3 に答える 3

4

PHP 5.3 以降を使用している場合:

<?php
$string = '<inc="file.php">';
return preg_replace_callback('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#', function($matches) {
    return include $matches[1];
}, $string);
?>
于 2012-04-28T20:11:18.277 に答える
1

何をしようとしているのか正確にはわかりませんが、 preg_matchpreg_replace を使用してみてください。

次のように使用すると、一致が配列に収集されます。

preg_match('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#', $string, $matches);

そして、一致が$matches配列に格納されます。その後、 を使用してそれらをループできますforeach

于 2012-04-28T20:14:25.727 に答える
1

そうあるべきだと思う

return preg_replace('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#','include("'.$1.'")',$string);

2 番目のパラメーターは文字列である必要があります。

于 2012-04-28T20:15:23.003 に答える