我有一个HTML表单字段$_POST["url"],有一些url字符串作为值。
举例如下:
https://example.com/test/1234?email=xyz@test.com
https://example.com/test/1234?basic=2&email=xyz2@test.com
https://example.com/test/1234?email=xyz3@test.com
https://example.com/test/1234?email=xyz4@test.com&testin=123
https://example.com/test/the-page-here/1234?someurl=key&email=xyz5@test.com
etc.
如何从这些url /值中只获得电子邮件参数?
请注意,我不是从浏览器地址栏获取这些字符串。
一个更可靠的答案,我很惊讶这里没有提到:
filter_input
所以在这个问题的情况下,你可以使用这个来从URL get参数中获取一个电子邮件值:
$email = filter_input(INPUT_GET, 'email', FILTER_SANITIZE_EMAIL);
对于其他类型的变量,您可能希望选择一个不同的/适当的过滤器,例如FILTER_SANITIZE_STRING。
我认为这个答案不仅仅是问题所要求的——从URL参数获取原始数据。但这是一个单行快捷方式,结果与下面相同:
$email = $_GET['email'];
$email = filter_var( $email, FILTER_SANITIZE_EMAIL );
不妨养成以这种方式获取变量的习惯。
一个更可靠的答案,我很惊讶这里没有提到:
filter_input
所以在这个问题的情况下,你可以使用这个来从URL get参数中获取一个电子邮件值:
$email = filter_input(INPUT_GET, 'email', FILTER_SANITIZE_EMAIL);
对于其他类型的变量,您可能希望选择一个不同的/适当的过滤器,例如FILTER_SANITIZE_STRING。
我认为这个答案不仅仅是问题所要求的——从URL参数获取原始数据。但这是一个单行快捷方式,结果与下面相同:
$email = $_GET['email'];
$email = filter_var( $email, FILTER_SANITIZE_EMAIL );
不妨养成以这种方式获取变量的习惯。