当前位置:Gxlcms > PHP教程 > 求求正则!大神救救小弟我。

求求正则!大神救救小弟我。

时间:2021-07-01 10:21:17 帮助过:3人阅读

求求正则!!!!大神救救我。。。。
$str = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|";

$reg = "饭煲";
$reg1 = "不复";
$reg2 = "当年";

preg_match_all("/([0-9]+)<(.*".$reg.".*".$reg1.".*)>\|/isU",$str,$arr);
print_r($arr);

求只匹配 1 出电饭煲海不复当年许多下挫 2 不复电线饭煲杆分别当年 3 苏当年丹公司订不复购饭煲
------解决方案--------------------
$str = "111<第一饭煲>
------解决方案--------------------
9<电饭煲海不复当年许多下挫>
------解决方案--------------------
2212<德国的花>
------解决方案--------------------
1321<不复电线饭煲杆分别当年>424
------解决方案--------------------
<苏当年丹公司订不复购饭煲>5
------解决方案--------------------
";

$reg = "饭煲";
$reg1 = "不复";
$reg2 = "当年";
$sp = explode('
------解决方案--------------------
', $str);
$inArr = array();
foreach ($sp as $key => $value) {
if(strpos($value,$reg) !== FALSE && strpos($value,$reg1) !== FALSE && strpos($value,$reg2) !== FALSE){
array_push($inArr, $value);
}
}
var_dump($inArr);

------解决方案--------------------
$s = "111<第一饭煲>
------解决方案--------------------
9<电饭煲海不复当年许多下挫>
------解决方案--------------------
2212<德国的花>
------解决方案--------------------
1321<不复电线饭煲杆分别当年>424
------解决方案--------------------
<苏当年丹公司订不复购饭煲>5
------解决方案--------------------
";

preg_match_all('/(?<=<)([^
------解决方案--------------------
>]*(?:(?:饭煲
------解决方案--------------------
不复
------解决方案--------------------
当年)[^
------解决方案--------------------
>]*){3}[^
------解决方案--------------------
>]*)>/U', $s, $r);
print_r($r[1]);
Array
(
[0] => 电饭煲海不复当年许多下挫
[1] => 不复电线饭煲杆分别当年
[2] => 苏当年丹公司订不复购饭煲
)

人气教程排行