当 post 跟 get 取得中少了一些资讯 '%', '^', '*', '(', ')', '+' 会变成空格,或者被取代掉
这些是因为在 Request.php 里面的 parse_str 造成的
做法可以在Request.php
等方式进行处理
如 parse_str($st , $xxx);
透过以下方式取代掉
//在 parseGet();上面进行处理
parseGet();
$query_string = $this->replaceWord($query_string, 'GET');
parsePost();上面进行处理
$body_buffer = $this->replaceWord($body_buffer, 'POST');
/**
* fix some special word not show in parse_str
* @param string $str
* @param string $method POST GET
* @return string
*/
protected function replaceWord(string $str,string $method)
{
$wordStr = ['%', '^', '*', '(', ')', '+'];
$replaceStr = ['%25', '%5E', '%2A', '%28', '%29', '%2B'];
if ($method == 'GET') {
$wordStr = last($wordStr);
$replaceStr = last($replaceStr);
}
$str = str_replace($wordStr, $replaceStr, $str);
return $str;
}
就可以正常展示webman里面的 $request->input post get 里面的特殊符号的内文了