私はjsonをエコーする関数(DoDb::printJsonDG($sql, $db, 1000, 2)
)を持っています。私はそれをキャッチして、str_replace()を使用してユーザーに送信する必要があります。しかし、私はエコーからそれを停止することはできません。他のいくつかの場所で使用されているため、printJsonDGを変更したくありません。PHPでエコーを防止し、それが何かをキャッチする方法は?
14
A
答えて
41
PHPでob_start()
とob_get_contents()
関数を使用できます。
<?php
ob_start();
echo "Hello ";
$out1 = ob_get_contents();
echo "World";
$out2 = ob_get_contents();
ob_end_clean();
var_dump($out1, $out2);
?>
の出力は以下となります。
string(6) "Hello "
string(11) "Hello World"
1
output bufferingをチェックアウト、私はむしろ今では、それは二つのことのために使用されます思われることの機能を変更したいです。文字列を返すだけで最適です。
5
出力バッファリング機能を使用して実行できます。
ob_start();
/* do your echoing and what not */
$str = ob_get_contents();
/* perform what you need on $str with str_replace */
ob_end_clean();
/* echo it out after doing what you had to */
echo $str;
4
おそらく、あなたはDoDb
をリファクタリングすることができます
class DoDb
{
public static function getJsonDG($some, $parameters)
{
/*
original routine from printJsonDG without the print statement
*/
return $result;
}
public static function printJsonDG($some, $parameters)
{
print self::getJsonDG($some, $parameters);
}
}
あなたが他の場所で、あなたのアプリケーションのコードに触れることはありませんこの方法。
関連する問題
- 1. エコーを拡大するエコーを防止できますか?
- 2. ディレクトリアクセスを防止し、禁止されたエラーをPHPで表示する方法
- 3. PHPエコーをPHPエコー+ html内に入れる方法は?
- 4. PHPがテキストファイルを検索してそれをエコーする
- 5. ストリームがすぐに停止する理由とそれを防ぐ方法
- 6. JSONをPHPでエコーする方法
- 7. ノーリターンアサインエラーを防止する方法は?
- 8. この方法でPHPスクリプトをダウンロードできます。防止?
- 9. DelphiでProcessMessagesを防止する方法
- 10. Asp.NETでXSSを防止する方法
- 11. webpackでロギングを防止する方法
- 12. JavaScriptでイベントチェインを防止する方法
- 13. 正しい方法でそれをやって、PHP pdoでキャッチしよう
- 14. グローバル例外をキャッチしてアプリのクラッシュを防止する
- 15. 何か空白をエコーするPHPエコー機能
- 16. PHPで挿入クエリを防止する
- 17. python3.6-venv hijacks pip。これを防ぐ方法は何ですか?
- 18. idangero swiperでドラッグしてスワイピングを防止する方法は?
- 19. HTML/Javascript/PHPテキストボックスでnullバイトインジェクションを防止する正しい方法
- 20. PHPエコー出力をスタイルする方法
- 21. スタンドアロンアプリケーションでマルウェアを防止するための優れたプログラミング方法は何ですか?
- 22. フォーム送信を防止する方法
- 23. Wixブートストラップロールバックを防止する方法
- 24. ノーマルシャトルダブルクリックイベントを防止する方法
- 25. XXE攻撃を防止する方法
- 26. イベントが防止されているかどうかを確認する方法
- 27. Javaクラッシュの原因は何ですか?そしてそのような事故を防ぐ方法は?
- 28. PHPの日付時刻がエコー形式を変更するのを防ぐ方法は?
- 29. ユーザ入力を確認してmysql注入を防止する方法は何ですか?
- 30. バッファは、メソッドが何かをエコーするかどうかをテストする正しい方法ですか?