求一PHP的正则表达式

$fcontents=‘var ILData = new Array("183.34.29.3","中国", "广东", "江门", "电信"); if (typeof(ILData_callback) != "undefined") { ILData_callback(); }’;

要求:用PHP正则取出
$a="183.34.29.3";
$b="广东";
$c="江门";

第1个回答  2011-01-21
给些关键的地方你
第一个可以用 "[\d]{1,3}.[\d]{1,3}.[\d]{1,3}.[\d]{1,3}"
关于第2,3个用 preg_match_all()函数提取4个中文,正则表达式是[\u0391-\uFFE5]+(这个 是提取中文的)然后在数组中返回第二个和第三个就可以了。

正则表达式我只是入门级,希望能帮到你
第2个回答  2011-01-22
<?
$str ='
<div class="bbinfo">
<ul>
<li>
<a href="" target="_blank" class="blue_14">h61073 Shills超炫光BB无瑕霜(樱花飞舞限量版)50ML</a>
</li></ul></div>
<div class="bbi爱仕达nfo">
<ul>
<li>
<a href="" target="_blank" class="blue_14">h61073 Shills超炫光BB无瑕霜(樱花飞舞限量版)50ML</a>
</li></ul></div>
<div class="bbinfo">
<ul>
<li>
<a href="" target="_blank" class="blue_14">h61073 Shills超炫光BB无瑕霜(樱花飞舞限量版)50ML</a>
</li></ul></div>
<div class="bbinfo">
<ul>
<li>
<a href="" target="_blank" class="blue_14">h61073 Shills超炫光BB无瑕霜(樱花飞舞限量版)50ML</a>
</li></ul></div>';
$strs_val='</i>收藏该商品</a>
<input type="hidden" name="adid" value="1591478382"/>
</li>';
$re='/<div class="bbinfo">\s*<ul>\s*<li>\s*<a href="([^"]*)[^>]*(.*)<\/a>/i';
$re_val='/<input type="hidden" name="adid" value="(\d*)"\/>/i';
preg_match_all($re, $str, $taobaourl);
preg_match_all($re_val, $strs_val, $val_p);
print_r($val_p[1]);

echo 'url:<br/>';
print_r($taobaourl[1]);
echo '<br/>titles:<br/>';
print_r($taobaourl[2]);
?>
第3个回答  2011-01-21
数组你都有了,还要什么 正则表达式?
不明白你问什么

PHP不太熟,如果是java,直接用 IndexOf 和 subString获取每个双引号的位置,就能定位和获取需要的东西了
第4个回答  2011-01-21
preg_match('/Array\(\s*?"(.*?)",\s*?"(.*?)",\s*?"(.*?)"/',$fcontents,$match);
list(,$a,$b,$c)=$match;

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网