gpt4 book ai didi

php - 这个隐藏输入的正确模式是什么

转载 作者:可可西里 更新时间:2023-11-01 01:03:31 26 4
gpt4 key购买 nike

我有这个字段由 curl_exec 返回:

<input name="NUMBER_R" type="hidden" value="1500000">

150000是一个随机数,可能会变,其他都是常量

我试过:

preg_match ('/<input name="NUMBER_R" type="hidden" value="([^"]*)" \/>/', $result, $number)

还有:

preg_match ('/<input name=\'NUMBER_R\' type=\'hidden\' value=\'(\\d+)\'>/ims', $result, $number)

但是没有运气......

完整代码如下:

$result=curl_exec($cid);
curl_close($cid);
$number = array();
if (preg_match ('REGEX', $result, $number))
{
echo $number[1];
}

编辑 1:抱歉,我在 echo $number[1] 中忘记了 [1];另外 1500000 是一个随机数,可能会改变

最佳答案

描述

此正则表达式将找到具有属性 name="number_r" 的输入标签和 type="hidden"以任何顺序。然后它会拉出属性 value及其关联值。它确实要求值文本是所有数字

<input\b\s+(?=[^>]*name=(["'])number_r\1)(?=[^>]*type=(["'])hidden\2)[^>]*value=(["'])(\d+)\3[^>]*>

enter image description here

  • <input\b\s+使用左括号和标签名称,确保有分词符和空格
  • (?=[^>]*name=(["'])number_r\1)向前看以确保此标签包含正确的 name属性
  • (?=[^>]*type=(["'])hidden\2)向前看,确保此标签还包含 type属性
  • [^>]*向前移动光标,直到找到
  • value=标签
  • (["'])捕捉开场白
  • (\d+)捕获子串,要求全为数字
  • \3匹配正确的引号。这可以省略,因为您已经收到所需的子字符串。
  • [^>]*>匹配标签中的其余字符。这可以省略,因为您已经收到所需的子字符串。

群组

Group 0 获取整个输入标签

  1. 反向引用名称的开引号以确保捕获正确的收尾引号
  2. 反向引用类型的开盘价以确保捕获正确的收盘价
  3. 反向引用值(value)的开盘价,以确保捕获正确的收盘价
  4. 名为 value 的属性中的值

PHP 代码示例:

<?php
$sourcestring="<input name="NUMBER_R" type="hidden" value="1500000">";
preg_match('/<input\b\s+(?=[^>]*name=(["\'])number_r\1)(?=[^>]*type=(["\'])hidden\2)[^>]*value=(["\'])(\d+)\3[^>]*>/im',$sourcestring,$matches);
echo "<pre>".print_r($matches,true);
?>

$matches Array:
(
[0] => <input name="NUMBER_R" type="hidden" value="1500000">
[1] => "
[2] => "
[3] => "
[4] => 1500000
)

关于php - 这个隐藏输入的正确模式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com