preg_match_all函数是用来获取指定数据内容的,它经常用于执行正则表达多,下面我来给大家介绍两个关于preg_match_all函数实现教程,一个是获取url参数,一个是获取内容中图片方法。
preg_match_all — 执行一个全局正则表达式匹配
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
例
代码如下 |
复制代码 |
preg_match_all("|]+>(.*)]+>|U",
"example:
this is a test
",
$out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "n";
echo $out[1][0] . ", " . $out[1][1] . "n";
?>
|
如何获取伪静态url中的参数变量,已经对应的值。
比如说。你现在url的是这样的。/js/d1b3cid419299191rs好脚本
你的.htaccess文件会这样写rewirte规则 RewriteRule ^js/(.*)$ /index.php?m=Sell&a=index&g=$1 [QSA,PT,L]
这样你就可以把g接收过来。
代码如下 |
复制代码 |
$get = 'd1b3cid419299191rs好脚本';
$rs_pos = strpos($get,'rs');
if($rs_pos !== false)
{
$rs = substr($get,$rs_pos);
$rs = str_replace('rs','',$rs);
$rs = strpos($rs,'/')!==false ? substr($rs,0,strpos($rs,'/')) : $rs;
$get = substr($get,0,$rs_pos);
}
echo 'keywords='.$rs;
echo '
';
preg_match_all('/([a-z]*)([0-9]+)/',$get,$m);
if($m)
{
$k = $v = '';
$count = count($m[1]);
for($i = 0; $i
{
${$m[1][$i]} = $m[2][$i];
if(isset(${$m[1][$i]}))
{
echo $m[1][$i].'='.${$m[1][$i]};
echo '
';
}
}
}
|
结果:keywords=好脚本,d=1,b=3,cid=419299191
匹配文章中的图片
代码如下 |
复制代码 |
$con = file_get_contents("http://www.bkjia.com/");
$pattern="//";
preg_match_all($pattern,$con,$match);
print_r($match);
?>
输出代码
Array
(
[0] => Array
(
[0] =>
[1] =>
[2] =>
)
[1] => Array
(
[0] => http://www.bkjia.com/uploadfile/2013/0905/20130905074915895.png
[1] => http://www.bkjia.com/uploadfile/2013/0905/20130905074915639.jpg
[2] => http://www.bkjia.com/uploadfile/2013/0905/20130905074915742.jpg
)
)
|
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn