Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpBugtracker-允许在错误评论中使用反斜杠吗?_Php_Regex - Fatal编程技术网

phpBugtracker-允许在错误评论中使用反斜杠吗?

phpBugtracker-允许在错误评论中使用反斜杠吗?,php,regex,Php,Regex,我使用的是phpBugtracker,我对php非常陌生,但我想知道如何允许在注释中使用反斜杠。我注意到只有反斜杠被划为条纹,而正斜杠保持不变。当我投进5时,我确实设法得到了1个反斜杠 感谢您的帮助 $patterns = array( '/\r/', '/</', '/>/', '/\n/', '/(bug)[[:space:]]?(#?)([0-9]+)/i', // matches bug #nn '/cvs:([^\.\s:,\

我使用的是phpBugtracker,我对php非常陌生,但我想知道如何允许在注释中使用反斜杠。我注意到只有反斜杠被划为条纹,而正斜杠保持不变。当我投进5时,我确实设法得到了1个反斜杠

感谢您的帮助

$patterns = array(
    '/\r/',
    '/</',
    '/>/',
    '/\n/',
    '/(bug)[[:space:]]?(#?)([0-9]+)/i', // matches bug #nn
    '/cvs:([^\.\s:,\?!]+(\.[^\.\s:#,\?!]+)*)([:#](rev|r)?)?(\d\.[\d\.]+)?([\W\s])?/i', // matches cvs:filename.php, cvs:filename.php:n.nn or cvs:filename.php#revn.nn
    '/&lt;pre&gt;/',        // preformatted text
    '/&lt;\/pre&gt;/',      // preformatted text
    );
$replacements = array(
    '',
    '&lt;',
    '&gt;',
    '<br>',
    "<a href='$me?op=show&bugid=\\3'>\\1 #\\3</a>", // internal link to bug
    '<a href="'.CVS_WEB.'\\1#rev\\5" target="_blank">\\1</a>\\6', // external link to cvs web interface
    '<pre>',
    '</pre>',
    );

return preg_replace($patterns, $replacements, stripslashes($comments));

删除斜杠的原因是通过斜杠传递$comments。只要照原样递过来就可以了。值得做一些彻底的测试,以确保不会打开安全漏洞。

好吧,您正在通过stripslashes,所以斜杠被剥离也就不足为奇了。它是否简单到:reproduction_steps=.$db->quotestripslashes$reproduction_steps。复制步骤=.$db->引用$reproduction\u步骤。我只是想在一个名为reproduction_steps的字段中允许反斜杠。删除斜杠,只传入$comments,看看会发生什么。谢谢你,凯文!到目前为止,在我的测试环境中,它似乎是成功的,但我将继续测试,看看它是否会无意中开始注入SQL。很高兴它为您解决了问题。我把它作为一个答案加上去了