首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

晕了 ,求个正则表达式 php的, .

2013-06-25 
晕了 ,求个正则表达式 php的, 在线等....本帖最后由 cluonani 于 2013-05-21 15:15:17 编辑html是这样的d

晕了 ,求个正则表达式 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
        )

)

热点排行