使用PHP正则表达式过滤Http请求

使用PHP正则表达式过滤Http请求,php,regex,preg-match,Php,Regex,Preg Match,这是我从C/C++应用程序发出的Http请求 POST /login.php HTTP/1.1 Host: www.copyscape.com User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-U

这是我从C/C++应用程序发出的Http请求

POST /login.php HTTP/1.1
Host: www.copyscape.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://www.copyscape.com/login.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 74
Cookie: ck=BXLD2UDMUA88KWGC0GK8WCGOC; PHPSESSID=8cup5f02hbetnbfbbv9vug37q0
Connection: keep-alive
Upgrade-Insecure-Requests: 1

login_username=jeezman88%40vfxm.mail.com.com&login_password=(Passw0rd)&log_in=Log+inÿÿÿ7—R
现在我有一个挑战,我想用php正则表达式过滤结果,我该如何做呢。假设我想过滤以获得Referer,我是如何使用PHP中的regex函数实现这一点的。请允许我对这类东西非常陌生

比如:

preg_match('/(?m)^Referer:\h*(.*)$/', $string, $match);
我应该这样做。它查看每一行,一旦找到
Referer:
,它将返回整行。第一个捕获组是值

PHP演示:


正则表达式演示:

。。。您的问题是关于过滤器处理还是关于正则表达式?@Stefan,关于过滤器处理。我想过滤Referer并说出表单输入变量。@Stefan,正在考虑使用preg_match()@chris85,不是真的,我想过滤以获得几个参数,仅此而已…@chris85,你能给出一个关于如何获取Referer和post数据的完整片段吗