好吧,我知道这是一个新问题,但是如果IF 1(文本:测试出现在数据字符串中),我将如何仅执行IF 2.我尝试将两者结合起来但最终出现了各种各样的问题.因此,如果测试没有显示跳过的循环,如果它,那么我将在IF 2中运行的正则表达式代码.
- $data = 'hello world "this is a test" last test';
- // IF 1
- if (stripos($data,'test') !== false) {
- }
- // IF 2
- if (preg_match('/"[^"]*"/i',$data,$regs)) {
- $quote = str_word_count($regs[0],1);
- $data = str_replace($regs[0],'"'.implode(' ',$quote).'"',$data);
- }
- echo $data;
或者:
- if (stripos($data,'test') !== false) {
- if (preg_match('/"[^"]*"/i',$regs)) {
- $quote = str_word_count($regs[0],1);
- $data = str_replace($regs[0],$data);
- }
- }
要么:
- if (stripos($data,'test') !== false && preg_match('/"[^"]*"/i',$regs)) {
- $quote = str_word_count($regs[0],1);
- $data = str_replace($regs[0],$data);
- }
两者都做同样的事情.和&&运算符意味着“和”.||运算符意味着“或”.