晕了 ,求个正则表达式 php的, 在线等....
本帖最后由 cluonani 于 2013-05-21 15:15:17 编辑 html是这样的
<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>
想些个正则表达式,得到结果大约是这样的.死活写不出.功夫不到家..
求大神,取得单选框匹配checked的值和下面textarea的值,最后想要的的大约是这样的
[1] => Array
(
[0] => BTN_GROUP_59679208328481
[1] => BTN_GROUP_59679208328482
[2] => TEXTAREA_59679208328481
[3] => TEXTAREA_59679208328482
)
[2] => Array
(
[0] => 22334875:SHIP_TO_HOME:3
[1] => 22334876:SHIP_TO_HOME:2
[2] => Enter your gift message here
[3] => Enter your gift message here2
)
就用is,不用isu
可以实现吗
[解决办法]
$pattern='/<input type="radio" name="([^"]*?)" value="([^"]*?)" ([^>]*?)>(.*?)<input type="radio" name="([^"]*?)" value="([^"]*?)" ([^>]*?)>(.*?)<input type="radio" name="([^"]*?)" value="([^"]*?)" ([^>]*?)>(.*?)<textarea id="([^"]*?)" name="([^"]*?)" ([^>]*?)>([^<]*?)<\/textarea>/sm';
[解决办法]
提供正则,然后你自己再处理下就可以实现。
$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
)
)