脚本宝典收集整理的这篇文章主要介绍了php – 解析一个字符串然后发布,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在解析这个问题时迷失了,因为user_ *可能是任何东西,它不是一致的.
我试过了:
$query = explode('&','heading="Firstname","lastname"&user_1382926="Mike",SmITh"&user_1383059="Sonny","Williams"&user_1303EM000014="Mike","Jones"'); $params = array(); foreach( $query as $param ){ list($name,$value) = explode('=',$param); echo $params[urldecode($name)][] = urldecode($value); }
但它只是给了我:
"firstname","lastname""Mike",Smith""Sonny","Williams""Mike","Jones"
我希望能够发布到:
$firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $stmt = $MysqLi->PRepare("INSERT INTO usertest (firstname,lastname) VALUES (?,?)"); $stmt->bind_param('ss',$firstname,$lastname); $stmt->execute();
我如何解析这个以便正确发布?
$names = array(); $string = 'heading="firstname","Smith"&user_1383059="Sonny","Jones"'; $arr = explode("&",$string); foreach($arr as $key_values){ if(substr($key_values,5) == 'user_'){ $piecies = explode("=",$key_values); foreach($piecies as $key=>$val){ if($key%2==0){ continue; } preg_match_all('/"(.*?)","(.*?)"/',$val,$first_last_name); $names[] = array('firstname'=>$first_last_name[1],'lastname'=>$first_last_name[2]); } } } echo '<pre>',print_r($names),'</pre>'; foreach($names as $name){ $firstname = $name['firstname']; $lastname = $name['lastname']; $stmt = $MysqLi->prepare("INSERT INTO usertest (firstname,?)"); $stmt->bind_param('ss',$lastname); $stmt->execute(); }
注意:我在你的原始字符串中添加了史密斯(“迈克”,“史密斯”)之前的双引号,因为我希望它在OP中缺失.
以上是脚本宝典为你收集整理的php – 解析一个字符串然后发布全部内容,希望文章能够帮你解决php – 解析一个字符串然后发布所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。