晕了 ,求个正则表达式 php的, 在线等.... 本帖最后由 cluonani 于 2013-05-21 15:15:17 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $pattern='/<input type="radio" name="([^"]*?)" value="([^"]*?)" ([^>]*?)>(.*?)<input type="radio" name="([^"]*?)" value="([^"]*?)" ([^>]*?)>(.*?)<input type="radio" name="([^"]*?)" value="([^"]*?)" ([^>]*?)>(.*?)<textarea id="([^"]*?)" name="([^"]*?)" ([^>]*?)>([^<]*?)<\/textarea>/sm'; 上面得出的结果是:[1] => Array ( [0] => BTN_GROUP_59679208328481 [1] => BTN_GROUP_59679208328482 ) [2] => Array ( [0] => 22334875:SHIP_TO_HOME:1 [1] => 22334876:SHIP_TO_HOME:1 ) [3] => Array ( [0] => onclick="" [1] => onclick="" ) [4] => Array ( [0] => [1] => ) [5] => Array ( [0] => BTN_GROUP_59679208328481 [1] => BTN_GROUP_59679208328482 ) [6] => Array ( [0] => 22334875:SHIP_TO_HOME:2 [1] => 22334876:SHIP_TO_HOME:2 ) [7] => Array ( [0] => onclick="" [1] => onclick="" checked="" ) [8] => Array ( [0] => [1] => ) [9] => Array ( [0] => BTN_GROUP_59679208328481 [1] => BTN_GROUP_59679208328482 ) [10] => Array ( [0] => 22334875:SHIP_TO_HOME:3 [1] => 22334876:SHIP_TO_HOME:3 ) [11] => Array ( [0] => onclick="" checked="" [1] => onclick="" ) [12] => Array ( [0] => [1] => ) [13] => Array ( [0] => IncludeMessage [1] => IncludeMessage2 ) [14] => Array ( [0] => TEXTAREA_59679208328481 [1] => TEXTAREA_59679208328482 ) [15] => Array ( [0] => onclick="WALMART.checkout.shipping.giftMsgOnClick(this);" onkeyup="WALMART.checkout.shipping.giftMsgLimiter(this, 59679208328481)" [1] => onclick="" onkeyup="" ) [16] => Array ( [0] => Enter your gift message here [1] => Enter your gift message here2 )然后再取下标2,5,8,16的就是结果了 提供正则,然后你自己再处理下就可以实现。$s=<<<div<div class="itemCartContaine"><input type="radio" name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:1" onclick=""><input type="radio" name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:2" onclick=""><input type="radio" name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:3" onclick="" checked=""><textarea id="IncludeMessage" name="TEXTAREA_59679208328481" onclick="WALMART.checkout.shipping.giftMsgOnClick(this);" onkeyup="WALMART.checkout.shipping.giftMsgLimiter(this, 59679208328481)">Enter your gift message here</textarea></div><div class="itemCartContaine"><input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:1" onclick=""><input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:2" onclick="" checked=""><input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:3" onclick=""><textarea id="IncludeMessage2" name="TEXTAREA_59679208328482" onclick="" onkeyup="">Enter your gift message here2</textarea></div>div;preg_match_all('/name="([^\"]+)" value="([^\"]+)" onclick="" checked="">.+?<textarea[^>]+name="(.+?)"[^>]+>([^<]+)</is',$s,$m);print_r($m);Array( [0] => Array ( [0] => name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:3" onclick="" checked=""><textarea id="IncludeMessage" name="TEXTAREA_59679208328481" onclick="WALMART.checkout.shipping.giftMsgOnClick(this);" onkeyup="WALMART.checkout.shipping.giftMsgLimiter(this, 59679208328481)">Enter your gift message here< [1] => name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:2" onclick="" checked=""><input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:3" onclick=""><textarea id="IncludeMessage2" name="TEXTAREA_59679208328482" onclick="" onkeyup="">Enter your gift message here2< ) [1] => Array ( [0] => BTN_GROUP_59679208328481 [1] => BTN_GROUP_59679208328482 ) [2] => Array ( [0] => 22334875:SHIP_TO_HOME:3 [1] => 22334876:SHIP_TO_HOME:2 ) [3] => Array ( [0] => TEXTAREA_59679208328481 [1] => TEXTAREA_59679208328482 ) [4] => Array ( [0] => Enter your gift message here [1] => Enter your gift message here2 )) 请教php怎么修改GB2312编码到UTF-8? phpnewnew不得了啊,,2个月突然冒出2块奖牌了 求给一段PHP批量生成html代码 请教一个smarty+js的问题 (在线等!!!!)PHP登陆返回问题!! 谁帮我看看这是什么 一个页面中加入多个file_exists()会不会降低网站速度? 急求在php中怎么识别客户端使用的IE/Netscape使用的语言类型???不胜感激!!! 帮忙看看这段PHP到底是哪里有问题。 为什么连不上数据库 问一个 英文的问题 php奇怪的解析方式
(
[0] => BTN_GROUP_59679208328481
[1] => BTN_GROUP_59679208328482
) [2] => Array
(
[0] => 22334875:SHIP_TO_HOME:1
[1] => 22334876:SHIP_TO_HOME:1
) [3] => Array
(
[0] => onclick=""
[1] => onclick=""
) [4] => Array
(
[0] => [1] => ) [5] => Array
(
[0] => BTN_GROUP_59679208328481
[1] => BTN_GROUP_59679208328482
) [6] => Array
(
[0] => 22334875:SHIP_TO_HOME:2
[1] => 22334876:SHIP_TO_HOME:2
) [7] => Array
(
[0] => onclick=""
[1] => onclick="" checked=""
) [8] => Array
(
[0] => [1] => ) [9] => Array
(
[0] => BTN_GROUP_59679208328481
[1] => BTN_GROUP_59679208328482
) [10] => Array
(
[0] => 22334875:SHIP_TO_HOME:3
[1] => 22334876:SHIP_TO_HOME:3
) [11] => Array
(
[0] => onclick="" checked=""
[1] => onclick=""
) [12] => Array
(
[0] => [1] => ) [13] => Array
(
[0] => IncludeMessage
[1] => IncludeMessage2
) [14] => Array
(
[0] => TEXTAREA_59679208328481
[1] => TEXTAREA_59679208328482
) [15] => Array
(
[0] => onclick="WALMART.checkout.shipping.giftMsgOnClick(this);" onkeyup="WALMART.checkout.shipping.giftMsgLimiter(this, 59679208328481)"
[1] => onclick="" onkeyup=""
) [16] => Array
(
[0] => Enter your gift message here
[1] => Enter your gift message here2
)然后再取下标2,5,8,16的就是结果了
$s=<<<div
<div class="itemCartContaine">
<input type="radio" name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:1" onclick="">
<input type="radio" name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:2" onclick="">
<input type="radio" name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:3" onclick="" checked="">
<textarea id="IncludeMessage" name="TEXTAREA_59679208328481" onclick="WALMART.checkout.shipping.giftMsgOnClick(this);" onkeyup="WALMART.checkout.shipping.giftMsgLimiter(this, 59679208328481)">Enter your gift message here</textarea>
</div><div class="itemCartContaine">
<input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:1" onclick="">
<input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:2" onclick="" checked="">
<input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:3" onclick="">
<textarea id="IncludeMessage2" name="TEXTAREA_59679208328482" onclick="" onkeyup="">Enter your gift message here2</textarea>
</div>
div;
preg_match_all('/name="([^\"]+)" value="([^\"]+)" onclick="" checked="">.+?<textarea[^>]+name="(.+?)"[^>]+>([^<]+)</is',$s,$m);
print_r($m);
Array
(
[0] => Array
(
[0] => name="BTN_GROUP_59679208328481" value="22334875:SHIP_TO_HOME:3" onclick="" checked="">
<textarea id="IncludeMessage" name="TEXTAREA_59679208328481" onclick="WALMART.checkout.shipping.giftMsgOnClick(this);" onkeyup="WALMART.checkout.shipping.giftMsgLimiter(this, 59679208328481)">Enter your gift message here<
[1] => name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:2" onclick="" checked="">
<input type="radio" name="BTN_GROUP_59679208328482" value="22334876:SHIP_TO_HOME:3" onclick="">
<textarea id="IncludeMessage2" name="TEXTAREA_59679208328482" onclick="" onkeyup="">Enter your gift message here2<
) [1] => Array
(
[0] => BTN_GROUP_59679208328481
[1] => BTN_GROUP_59679208328482
) [2] => Array
(
[0] => 22334875:SHIP_TO_HOME:3
[1] => 22334876:SHIP_TO_HOME:2
) [3] => Array
(
[0] => TEXTAREA_59679208328481
[1] => TEXTAREA_59679208328482
) [4] => Array
(
[0] => Enter your gift message here
[1] => Enter your gift message here2
))