2010-12-16 14 views
1

私はPHPの質問をしました。 私はPHPコードを持っていて、長いテキストをいくつか印刷します。 出力テキストの "n"文字を "N"に置き換える必要があります。私は関数を作成することができます。しかし、私は(私は多くのテキストを持っているので)機能に私のテキストを置くことができません(そして好きではありません!)。 "n"を "N"に置換する方法はありますか?機能のないテキストを置き換えます

おかげだけstr_replaceを使用し、関数を作成しに...

+1

あなたが関数にパラメータとしてテキストを渡すことができます。 –

答えて

4

の必要はありません、このようなこの目的のために機能して構築された:

$output_text = str_replace('n', 'N', $input_text); 
echo $output_text; 

[EDIT]の場合多くのテキストがあるので(あなたが言うように)、関数にテキストを入れたくない場合は、次のようにしてください:

<?php 
ob_start(); 

//..... ALL YOUR CODE GOES HERE 

$FullOutput = ob_get_clean(); 
echo str_replace('n', 'N', $FullOutput); 
?> 

これは効果的にすべての出力をバッファリング(キャッチして保存)し、最後には 'n'を 'N'に置き換えてエコーします。

+0

はい、機能は必要ありませんが、出力の前に "str_replace()"を追加することはできません。私は多くのアウトプットを持っています! – mrdaliri

+1

@kikioでは、2番目の方法を使用します。これにより、すべての出力が自動的にキャッチされ、その中のテキストが置き換えられます。 – shamittomar

+0

ありがとうございます!できます!!! – mrdaliri

0
<?php 
    $newString = str_replace('n','N',$oldString); 
?> 
0

str_replaceあなたが必要とするものを置き換えることができます。それはまた、あなたのコードの中心部に位置し、これらのペアを定義することができますされ、一度にペアを交換/複数見つけることを受け入れることができます:

$replacements = array(
    'n' => 'N', 
    'foo' => 'bar', 
    // as many others as you want 
) 

// At some other point: 
$input = str_replace(
    array_keys($replacements), 
    array_values($replacements), 
    $output); 
関連する問題