欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

新手简单的正则表达式,大大们帮帮忙.多谢

程序员文章站 2022-06-13 23:35:23
...
新手求一个简单的正则表达式,大大们帮帮忙.谢谢
本帖最后由 bupabupa166 于 2014-10-31 22:08:43 编辑 women bags backpack wallet bag men keysool bag dress handbag shoulder bag purse shoes bag man leather bag


请问怎么用正则匹配到所有“data-text”的属性值(引号里面的值)。
谢谢
------解决思路----------------------
$str='women bags backpack wallet bag men keysool bag dress handbag shoulder bag purse shoes bag man leather bag';

preg_match_all('/data-text="(.+)"/U',$str,$matches,PREG_PATTERN_ORDER );

var_dump($matches[1]);








array(12) {
[0]=>
string(10) "women bags"
[1]=>
string(8) "backpack"
[2]=>
string(6) "wallet"
[3]=>
string(7) "bag men"
[4]=>
string(11) "keysool bag"
[5]=>
string(5) "dress"
[6]=>
string(7) "handbag"
[7]=>
string(12) "shoulder bag"
[8]=>
string(5) "purse"
[9]=>
string(5) "shoes"
[10]=>
string(7) "bag man"
[11]=>
string(11) "leather bag"
}

------解决思路----------------------
写了一个比较直观的,先提权单链接,然后在单链接中提取data-text="...."引号中的信息

//先匹配超链接的前半部分,比如这一部分
function filterLink($data)
{
$pat='#
]+?>#ui';
if(preg_match_all($pat, $data, $match))
{
foreach($match[0] as $link)
{
//echo $link."

";
filterData($link);
}
}
else
{
echo '匹配失败';
}
}

//然后在单个的
中提取需要的信息
function filterData($data)
{
$pat='#data-text="([^"]+?)"#i';
if(preg_match_all($pat, $data, $match))
{
foreach($match[1] as $content)
{
echo $content."
";
}
}
else
{
echo '匹配失败';
}
}
filterLink($str);


新手简单的正则表达式,大大们帮帮忙.多谢
新手简单的正则表达式,大大们帮帮忙.多谢

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 新手简单的正则表达式,大大们帮帮忙.多谢
  • 专题推荐