首页 > 编程语言 >PHP提取form表单内容组成URL

PHP提取form表单内容组成URL

时间:2024-06-18 19:21:24浏览次数:16  
标签:xpath form URL getAttribute params action input PHP

示例代码:

function ChinaPayUrl($html){
// 创建一个新的DOMDocument实例
$dom = new \DOMDocument();
// 加载HTML内容
@$dom->loadHTML($html);
// 创建一个DOMXPath实例
$xpath = new \DOMXPath($dom);
// 获取action
$formElements = $xpath->query("//form"); // 使用XPath查询语法获取所有form元素
$action = $formElements[0]->getAttribute('action');
// 获取params
$inputElements = $xpath->query("//input"); //使用XPath查询语法获取所有input元素
$params = [];
foreach ($inputElements as $input) {
$params[$input->getAttribute('name')] = $input->getAttribute('value');
}
// 拼接url
return $action . '?' . http_build_query($params);
}

$a = "<!DOCTYPE html>
<html lang=\"en\">
<head>
<meta charset=\"UTF-8\">
<title>Document</title>
</head>
<body>
<form action='http://test.lumen.cn/a.php'>
<input type='text' name='username' value='admin'>
<input type='password' name='pwd' value='111111'>
<input type='submit' value='submit'>
</form>
</body>
</html>";
$res = ChinaPayUrl($a);


var_dump($res);

结果为:string(60) "http://test.lumen.cn/a.php?username=admin&pwd=111111&=submit"

标签:xpath,form,URL,getAttribute,params,action,input,PHP
From: https://www.cnblogs.com/songcheng-nick/p/18254977

相关文章

  • 记录--createObjectURL这个API真好用,我举几个场景你们就懂了
    ......
  • win——win安装curl
    参考原文链接:https://blog.csdn.net/weixin_45191386/article/details/1306528211、Curl简介curl命令网络应用curl命令是一个利用URL规则在命令行下工作的文件传输工具。CURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAP......
  • PHP Linux安装扩展(编译安装)
    0x01下载包并解压http://pecl.php.net/package/mailparsetar-xzfmailparse.tgzcdmailparse0x02配置/www/server/php/74/bin/phpize./configure--with-php-config=/www/server/php/74/bin/php-config0x03编译并安装makesudomakeinstall0x04激活编辑php.......
  • [论文速览] Small-scale proxies for large-scale Transformer training instabilitie
    Pretitle:Small-scaleproxiesforlarge-scaleTransformertraininginstabilitiessource:ICLR2024paper:https://arxiv.org/abs/2309.14322code:ref:小尺度Transformer如何ScaleIdea这篇文章想通过小模型来研究大模型(Transformer)训练不稳定的原因Method(Model)图......
  • 禁止启动多个winform项目进程程序.exe
    1,在winform项目中 Program.cs文件里添加usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceSMProjectSysetm{internalstaticclassProgram......
  • 关于几种语言(c#,php,python,javascript)字符串的gzip压缩与解压的整理
    背景介绍因为一直在处理restfulAPI,给移动端提供的数据需要考虑流量问题,优先考虑就是压缩现有的字符串,然后再考虑业务逻辑方面的减少流量。鉴于找这些资料也花了不少时间,所以整理了这篇文章,留作纪念。参考网址PHP与C#的压缩与解压http://www.oschina.net/question/2265205_181......
  • 漏洞复现之CVE-2012-1823(PHP-CGI远程代码执行)
    关于CGI知识点CGI模式下的参数:-c指定php.ini文件的位置-n不要加载php.ini文件-d指定配置项-b启动fastcgi进程-s显示文件源码-T执行指定次该文件-h和-?显示帮助题目如下图,没有什么发现目录扫描一下dirsearch-uhttp://47.96.234.169:32349/发现info.php,直接......
  • tomcat9 启动时报错:java.lang.IllegalStateException: Malformed \uxxxx encoding的
    1、启动tomcat9springboot项目的时候,直接报下面的错误。2024-06-1809:38:20ApacheCommonsDaemonprocrunstdoutinitialized.09:38:35.597[main]ERRORorg.springframework.boot.SpringApplication-Applicationrunfailedjava.lang.IllegalStateException:Malf......
  • 搭建PHP开发环境:Linux篇
    目录一、引言二、环境准备三、安装Web服务器(Apache)Ubuntu/Debian系统:CentOS/RedHat系统:四、安装PHP解释器Ubuntu/Debian系统:CentOS/RedHat系统:五、配置Apache以支持PHPUbuntu/Debian系统:CentOS/RedHat系统:六、安装和配置数据库(MySQL/MariaDB)Ubuntu/Debian系统:......
  • 推荐一个在线php函数转go函数的网站
    之前一直写php,写过php的人都知道php里面字符串、数组函数好用的非常多,转到go之后,写代码难免会受到一些影响https://www.php2golang.com/这个网站就是可以把常见的php函数转成go实现,当然也不一定全部都有比如strstr函数......