ホームページ >バックエンド開発 >PHPチュートリアル >鄭澤神よ、どうか私を救ってください
$str = "111|9|2212|1321424 |0bfac7fba1b80bc2ea5a80018a49cbc55|70b0393b15ce8e60c8589ec24c99b324";
$reg = "炊飯器";
$reg1 = "もうだめ";
$reg2 = " ";
preg_match_all("/([0-9]+)1dbd7c9db81295dd5fa204e73d649ef8|/isU",$str,$arr ; (解決策)
$str = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$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);
$str = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$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);正規化は大丈夫ですか?このテキストは 1MB 以上になる可能性があるため、配列と正規表現のどちらを使用する方が効率的ですか? 正規表現より効率的なのはどれですか? ?配列が 1,000 個ある場合はどうなるでしょうか? Text Regular
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";preg_match_all('/(?<=<)([^|>]*(?:(?:饭煲|不复|当年)[^|>]*){3}[^|>]*)>/U', $s, $r);print_r($r[1]);Array
[0] => 炊飯器の海はもうあの頃と同じではありません
[1] => ワイヤーも炊飯器の棒ももう同じではありません [2] => スーニアンダン会社はもう炊飯器を買う順番ではありません
)
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";preg_match_all('/(?<=<)([^|>]*(?:(?:饭煲|不复|当年)[^|>]*){3}[^|>]*)>/U', $s, $r);print_r($r[1]);Array
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$a = explode('|', $s);$d = array("饭煲", "不复", "当年");foreach($d as $c) $a = preg_grep("/$c/", $a);print_r($a);Array
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";preg_match_all('/(?<=<)([^|>]*(?:(?:饭煲|不复|当年)[^|>]*){3}[^|>]*)>/U', $s, $r);print_r($r[1]);Array
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$a = explode('|', $s);$d = array("饭煲", "不复", "当年");foreach($d as $c) $a = preg_grep("/$c/", $a);print_r($a);Array
形式的な表現、特に独自のルール
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$a = explode('|', $s);$d = array("饭煲", "不复", "当年");foreach($d as $c) $a = preg_grep("/$c/", $a);print_r($a);Array