どうすればよいですか?preg_replace()を使用して一致する値を戻す方法
<?php
$string = '<inc="file.php">';
return preg_replace_callback('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#', function($matches) {
return include $matches[1];
}, $string);
?>
どうすればよいですか?preg_replace()を使用して一致する値を戻す方法
<?php
$string = '<inc="file.php">';
return preg_replace_callback('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#', function($matches) {
return include $matches[1];
}, $string);
?>
私はそれが2番目のパラメータは文字列でなければなりません
return preg_replace('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#','include("'.$1.'")',$string);
されるべきだと思います。
はいうれしい仕事に感謝します – user1179177
が含まリターンです
<?php
$string = '<inc="file.php">';
return preg_replace('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#',include("$1"),$string);
?>
しようとしていますが、preg_replaceよりpreg_match
を使用してみてください。
あなたがそれを使用する場合に示すようにそれは配列にマッチを収集します
preg_match('#<inc\s*="\s*([a-zA-Z0-9\_]+)\">#', $string, $matches);
そして試合が$matches
配列に格納されています。その後、foreach
を使用してループすることができます。
はいこれはすべての人にとって良いお礼です – user1179177
私がまさにわからない:出力は、私は返す必要が$ 1
はあなたがPHP 5.3以上をお持ちの場合はfile.php
なぜ彼はそうしますか:** TLDR; * | regexp 2xをやりたいとは思わない| *** ...完全な例:データがあるとしたら、データ項目の1つのプロパティに、あなたの特定のコンテキストには属していないが、それを捨てなさい - それはちょうどあなたの文脈のどこか他の所に属しています - それで非効率的にあなたは1.それを検索し、2.それを検索して置き換えます - あなたは2倍の検索を2回行うでしょう。これは:-) Sidenote:あなたは、OPが彼/彼女が求めているものとは異なる何かを望んでいると思うなら - まずはコメントをしてください;) –
まず 'sscanf'を試してください。 – hakre
@hakreそれはどの程度正確に役立つでしょうか?私はそれが置き換えているとは思わない...とにかく私はなぜ誰かがこの質問を嫌うだろうか? –