0

PHP のset_error_handler()関数を使用すると、呼び出し可能な関数がいくつかのパラメーターを受け取り、そのうちの 1 つがエラー文字列になるようにすることができます。テストで受け取ったエラー文字列の例を次に示します (エラーがスローされる原因になりました)。

parse_ini_file(/MyPath/App/Config/Database2.ini) [<a href='function.parse-ini-file'>function.parse-ini-file</a>]: failed to open stream: No such file or directory

parse_ini_file()次のような関数へのリンクが含まれていることに気付くでしょう。

http://us1.php.net/manual/en/function.parse-ini-file.php

私の質問は、http://us1.php.net/manual/en/の部分をその文字列のパスに追加する最も簡単な方法は何ですか。これのベース URL を設定できる関数はありますか、または文字列を次のようなものに手動で置き換える必要がありますpreg_replace()か? ファイル名だけを指すデフォルトのポイントになるのは奇妙に思えます...テキスト操作以外に、そのリンクを修正するための標準的な手順が必要です。

何か案は?

4

1 に答える 1

0

preg_replace()何の回答も得られなかったので、結局このソリューションを使用しました。他の誰かが同じことをしようとしている場合は、エラーハンドラ関数で次のようにします。

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
   $pattern = "/(.*)(href=')(.*)(')(.*)/i";
   $errstr = preg_replace($pattern, "$1target='_blank' $2http://us1.php.net/manual/en/$3$4$5", $errstr);
   echo($errstr);
}
于 2013-01-18T21:19:35.517 に答える