相关疑难解决方法(0)

18
推荐指数
1
解决办法
3万
查看次数

使用RegEx提取表单字段

我正在寻找一种方法来获取给定特定URL和表单名称的页面中的所有表单输入和相应值.

function GetForm($url, $name)
{
    return array
    (
        'field_name_1' => 'value_1',
        'field_name_2' => 'value_2',
        'select_field_name' => array('option_1', 'option_2', 'option_3'),
    );
}

GetForm('http://www.google.com/', 'f');
Run Code Online (Sandbox Code Playgroud)

有人能为我提供必要的正则表达式吗?

编辑:我理解查询DOM将更加可靠,但我正在寻找的是一个网站无关的解决方案,允许我获取给定表单的所有字段.在不知道文档节点的情况下,我不相信这是可能的,我错了吗?

我不需要防弹解决方案,只需要在标准网页上运行的东西,对于FORM标签,我提出了以下RegEx;

'~<form.*?name=[\'"]?' . $name . '[\'"]?.*?>(.+?)</form>~is'
Run Code Online (Sandbox Code Playgroud)

我相信为输入字段做类似的操作并不困难,我发现最具挑战性的是select和option字段的RegEx.

html php regex forms

1
推荐指数
1
解决办法
3810
查看次数

使用 PHP 和 Regex 提取 Div 的内容

我正在尝试使用 PHP 提取 div 的内容,而与类名和其他参数无关。

我需要的是,我有多行,单行,多参数div,例如


<div class="my-class additional-class"><div class="my-class2">
<div class="my-class"></div>
</div>

</div>
Run Code Online (Sandbox Code Playgroud)

我想获得第一个 div 的所有内容,而不是第一个 div。

<div class="my-class2">
<div class="my-class"></div>
</div>

Run Code Online (Sandbox Code Playgroud)

通常,我猜

<div.*>(.*)<\/div>/mU
Run Code Online (Sandbox Code Playgroud)

应该有效,但我不确定为什么没有。

我遇到过这个

(?s)(?<=<div\sclass="test">\n).*(?=<\/div>)
Run Code Online (Sandbox Code Playgroud)

它适用于类名,test但我无法使其工作

(?s)(?<=<div.*>\n)(.*)(?=<\/div>)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

谢谢,

php regex

0
推荐指数
1
解决办法
80
查看次数

标签 统计

php ×3

regex ×2

api ×1

forms ×1

html ×1

steam ×1

steam-web-api ×1