喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: 请问怎么得到所有HTML中的name和对应的value值?  
 
xpiou (xpiou)
中级会员
Rank: 3Rank: 3
中级会员



UID 30321
精华 0
积分 235
帖子 229
金钱 235 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-7-24
状态 离线
请问怎么得到所有HTML中的name和对应的value值?

有一串HTML代码,它们全存在一个变量中,比如$posta,我现在想把这个HTML代码里面的所有name和它对应的value值提取出来,形成name=value&name2=value2&name3=value3的格式,请问PHP怎么写?效率高一点方法。
感激不尽~~~~~~~~~~~
2005-12-22 06:03 PM#1
查看资料  访问主页  发短消息  QQ . .   顶部
 
庆祝开通 (庆祝开通)
注册会员
Rank: 2
一般会员



UID 67243
精华 0
积分 60
帖子 59
金钱 60 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-12-17
状态 离线
[推荐阅读] 询问一个论坛的建表思路。
$_GET['name'.$i]
2005-12-22 06:10 PM#2
查看资料  发短消息  顶部
 
xpiou (xpiou)
中级会员
Rank: 3Rank: 3
中级会员



UID 30321
精华 0
积分 235
帖子 229
金钱 235 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-7-24
状态 离线
[推荐阅读] Resin支持php了...可以把其编译为字节码
楼上没明白我的意思,是这样:
<?
$posta='<input type=hidden name=lm value="7700" ><input type=hidden name=z value="73028396" ><input type=hidden name=sc value="74"><input type=hidden name=cm value="264046084"><input type=hidden name=rn value="2819680867">';

//怎么计算才能得到$postb='lm=7770&z=73028396&sc=74&cm=264046284&rn=2819680867'
?>

当然,$posta的值不是固定的
2005-12-22 06:16 PM#3
查看资料  访问主页  发短消息  QQ . .   顶部
 
yoryoue
高级会员
Rank: 4


UID 24701
精华 0
积分 662
帖子 668
金钱 662 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-11-18
来自 农村
状态 离线
[推荐阅读] 怎样把后面的时间字符串以固定的方式对齐.


QUOTE:
最初由 xpiou 发布
[B]楼上没明白我的意思,是这样:
<?
$posta='<input type=hidden name=lm value="7700" ><input type=hidden name=z value="73028396" ><input type=hidden name=sc value="74"><input type=hidden name=cm value="264046084"><input type=hidden name=rn value="2819680867">';

//怎么计算才能得到$postb='lm=7770&z=73028396&sc=74&cm=264046284&rn=2819680867'
?>

当然,$posta的值不是固定的 [/B]
$posta='<input type=hidden name=lm value="7700" ><input type=hidden name=z value="73028396" ><input type=hidden name=sc value="74"><input type=hidden name=cm value="264046084"><input type=hidden name=rn value="2819680867">';
  preg_match_all('/<.*name=([^\s]+)\s*value="([^"]+)".*>/isU', $posta, $match);
  $posta = '';
  for ($i = 0; $i < count($match[1]); $i++) {
    $posta .= (($posta == '') ? '': '&').$match[1][$i].'='.$match[2][$i];
  }

OR

print substr(preg_replace('/<.*name=([^\s]+)\s*value="([^"]+)".*>/isU', '&\\1=\\2', $posta), 1);




[img]http://www.yoryoue.iii-grp.com/128.jpg[/img]
2005-12-22 06:54 PM#4
查看资料  访问主页  Blog  发短消息  QQ . .   顶部
 
xpiou (xpiou)
中级会员
Rank: 3Rank: 3
中级会员



UID 30321
精华 0
积分 235
帖子 229
金钱 235 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-7-24
状态 离线
[推荐阅读] 我想知道,mysql使用事务会对速度影响有多大
谢谢楼上的回复,本来已基本解决.后来又发现一个问题,value有些写成value="aaa",有些写成value=aaa 就是有些有引号,有些没有,请问能解决吗?我想全部按照没绰号的来取,然后再把引号换掉,该怎么改代码呢?谢谢哦
2005-12-22 11:03 PM#5
查看资料  访问主页  发短消息  QQ . .   顶部
 
xpiou (xpiou)
中级会员
Rank: 3Rank: 3
中级会员



UID 30321
精华 0
积分 235
帖子 229
金钱 235 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-7-24
状态 离线
[推荐阅读] Symfony一个不错的PHP5开发框架
UUUUUUUUUUUUUUUUppppppppppppppp
2005-12-23 08:58 AM#6
查看资料  访问主页  发短消息  QQ . .   顶部
 
yoryoue
高级会员
Rank: 4


UID 24701
精华 0
积分 662
帖子 668
金钱 662 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-11-18
来自 农村
状态 离线
[推荐阅读] 有熟悉xajax的朋友吗?


QUOTE:
最初由 xpiou 发布
[B]谢谢楼上的回复,本来已基本解决.后来又发现一个问题,value有些写成value="aaa",有些写成value=aaa 就是有些有引号,有些没有,请问能解决吗?我想全部按照没绰号的来取,然后再把引号换掉,该怎么改代码呢?谢谢哦 [/B]
preg_match_all('/<.*name=([^\s]+)\s*value="?([^"\s]+)["\s].*>/isU', $posta, $match);
$posta = '';
for ($i = 0; $i < count($match[1]); $i++) {
$posta .= (($posta == '') ? '': '&').$match[1][$i].'='.$match[2][$i];
}

OR

print substr(preg_replace('/<.*name=([^\s]+)\s*value="?([^"\s]+)["\s].*>/isU', '&\\1=\\2', $posta), 1);




[img]http://www.yoryoue.iii-grp.com/128.jpg[/img]
2005-12-23 10:14 AM#7
查看资料  访问主页  Blog  发短消息  QQ . .   顶部
 
xpiou (xpiou)
中级会员
Rank: 3Rank: 3
中级会员



UID 30321
精华 0
积分 235
帖子 229
金钱 235 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-7-24
状态 离线
[推荐阅读] 各位村友好,俺有回来了,请教一个问题!
谢谢yoryoue 的大力相助,感激不尽,测试了一下,其中这个值没得到,能解决吗?
<input type="text" name="ti" size="55" value="回复" onpropertychange="textCount(this,63)" onfocus="f_focus()">
2005-12-23 01:37 PM#8
查看资料  访问主页  发短消息  QQ . .   顶部
 
yoryoue
高级会员
Rank: 4


UID 24701
精华 0
积分 662
帖子 668
金钱 662 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-11-18
来自 农村
状态 离线
[推荐阅读] 想下载一个php小型论坛去哪啊


QUOTE:
最初由 xpiou 发布
[B]谢谢yoryoue 的大力相助,感激不尽,测试了一下,其中这个值没得到,能解决吗?
<input type="text" name="ti" size="55" value="回复" onpropertychange="textCount(this,63)" onfocus="f_focus()"> [/B]
preg_match_all('/<.*name="?([^"\s]+)["\s].*value="?([^"\s]+)["\s].*>/isU', $posta, $match);
$posta = '';
for ($i = 0; $i < count($match[1]); $i++) {
$posta .= (($posta == '') ? '': '&').$match[1][$i].'='.$match[2][$i];
}

OR

print substr(preg_replace('/<.*name="?([^"\s]+)["\s].*value="?([^"\s]+)["\s].*>/isU', '&\\1=\\2', $posta), 1);




[img]http://www.yoryoue.iii-grp.com/128.jpg[/img]
2005-12-23 01:50 PM#9
查看资料  访问主页  Blog  发短消息  QQ . .   顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.032379 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP