正确的set_error_handler()函数参考链接

时间:2013-01-18 19:58:18

标签: php error-handling hyperlink preg-replace

使用PHP的set_error_handler()函数,您可以让 callable 函数接收一些参数,其中一个参数是错误字符串。这是我在测试中收到的示例错误字符串(我导致错误被抛出):

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()之类的字符串替换?对我来说这似乎很奇怪,它只是文件名的默认点......除了文本操作之外,还必须有一个固定链接的标准程序。

有什么想法吗?

1 个答案:

答案 0 :(得分: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);
}