服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP正则解析多重循环模板示例

PHP正则解析多重循环模板示例

2019-09-20 14:52WhoAmMe PHP教程

这篇文章主要介绍了PHP正则解析多重循环模板,结合实例形式分析了php基于正则的循环遍历与解析相关操作技巧,需要的朋友可以参考下

本文实例讲述了PHP正则解析多重循环模板。分享给大家供大家参考,具体如下:

$str = "客户您好,为您推荐以下项目:(crm{项目2:项目名称} (crm{项目3:项目名称}crm)  crm)以及(crm{项目1:项目名称}crm)";
$start = '(crm'; //循环开始标记
$end  = 'crm)'; //循环结束标记   
//循环标记,需要转移的符号,前面需要加入转义符 ''
$need_escape = array('^', '$', '(', ')', '.', '[', ']', '|', '*', '?', '+', '/', '{', '}');
foreach($need_escape as $val)
{
   if(strpos($start, $val) !== FALSE)//存在需要转义的符号
   { 
     $escape = '\'.$val;
     $start = str_replace($val, $escape, $start);
   }
   if(strpos($end, $val) !== FALSE)//存在需要转义的符号
   { 
     $escape = '\'.$val;
     $end = str_replace($val, $escape, $end);
   }
}
/*----------------------------------
* 正则解析出【没有子循环】的【循环】
* 【没有子循环】:不包含循环开始标记
* 【循环】:被循环标记包含(开始标记、结束标记)
* ---------------------------------*/
//$pattern = '/(crm((?!(crm).)+crm)/U';
$pattern = '/'.$start.'((?!'.$start.').)+'.$end.'/U';
preg_match_all($pattern, $str, $matches);
echo "<pre>";
print_r($matches);
echo "</pre>";

运行结果:

Array
(
    [0] => Array
        (
            [0] => (crm{项目3:项目名称}crm)
            [1] => (crm{项目1:项目名称}crm)
        )
    [1] => Array
        (
            [0] => }
            [1] => }
        )
)

希望本文所述对大家PHP程序设计有所帮助。

延伸 · 阅读

精彩推荐
  • PHP教程Yii2框架redis基本应用示例

    Yii2框架redis基本应用示例

    这篇文章主要介绍了Yii2框架redis基本应用,结合实例形式分析了Yii2 redis扩展包的安装、配置及基本数据操作相关技巧,需要的朋友可以参考下 ...

    Yeah,程序猿2662019-09-19
  • PHP教程PHP PDOStatement::closeCursor讲解

    PHP PDOStatement::closeCursor讲解

    今天小编就为大家分享一篇关于PHP PDOStatement::closeCursor讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册1702019-06-25
  • PHP教程详解json在php中的应用

    详解json在php中的应用

    在本篇文章中我们给大家分享了关于json在php中的应用的相关知识点,有需要的朋友们可以学习下。...

    laozhang4482019-09-04
  • PHP教程PHP检查URL包含特定字符串实例方法

    PHP检查URL包含特定字符串实例方法

    在本篇文章里,小编给大家分享了使用PHP检查URL是否包含特定字符串的相关操作方法,有需要的朋友们学习下。...

    laozhang1802019-06-18
  • PHP教程PHP实现基于3DES算法加密解密字符串示例

    PHP实现基于3DES算法加密解密字符串示例

    这篇文章主要介绍了PHP实现基于3DES算法加密解密字符串,简单描述了3DES加密算法的概念、原理并结合实例形式分析了3DES加密算法具体定义与使用技巧,需要的朋友可以参考下...

    loophome4222019-09-09
  • PHP教程详解PHP版本兼容之openssl调用参数

    详解PHP版本兼容之openssl调用参数

    这篇文章给大家分享了PHP版本兼容之openssl调用参数的详细说明,有兴趣的朋友参考学习下。 ...

    Walker2352019-09-18
  • PHP教程PHP crc32()函数讲解

    PHP crc32()函数讲解

    今天小编就为大家分享一篇关于PHP crc32()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册3012019-06-15
  • PHP教程详解关于php的xdebug配置(编辑器vscode)

    详解关于php的xdebug配置(编辑器vscode)

    这篇文章主要介绍了详解关于php的xdebug配置(编辑器vscode),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    元谷3212019-06-26