$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]+(这个 是提取中文的)然后在数组中返回第二个和第三个就可以了。
正则表达式我只是入门级,希望能帮到你
第一个可以用 "[\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]);
?>
$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获取每个双引号的位置,就能定位和获取需要的东西了
不明白你问什么
PHP不太熟,如果是java,直接用 IndexOf 和 subString获取每个双引号的位置,就能定位和获取需要的东西了
第4个回答 2011-01-21
preg_match('/Array\(\s*?"(.*?)",\s*?"(.*?)",\s*?"(.*?)"/',$fcontents,$match);
list(,$a,$b,$c)=$match;
list(,$a,$b,$c)=$match;