【问题标题】:Preg Match Between Curly Braces - preg_match花括号之间的预匹配 - preg_match
【发布时间】:2013-04-27 01:48:27
【问题描述】:

示例主题:{this}{is}a{my} {example}{{subject}} 返回:

array(
[1] => 'this' 
[2] => 'is' 
[3] => 'my'
[4] => 'example'
[5] => 'subject'

这在 php 模板引擎中很常见 引用 smarty 和 twig http://www.smarty.net/ http://twig.sensiolabs.org/

【问题讨论】:

  • 那么你的正则表达式呢?
  • 我不知道你在问什么

标签: php regex


【解决方案1】:

检查以下代码:

$str = '{this}{is}a{my} {example}{{subject}}';

if(preg_match_all('/{+(.*?)}/', $str, $matches)) {
    var_dump($matches[1]);
}

输出:

array(5) {
  [0] =>
  string(4) "this"
  [1] =>
  string(2) "is"
  [2] =>
  string(2) "my"
  [3] =>
  string(7) "example"
  [4] =>
  string(7) "subject"
}

【讨论】:

  • 完美谢谢先生。对于任何对此感兴趣的人来说,基本上下文是能够从管理等调用特定变量到您的模板,而不会直接干扰核心代码。我将添加与通过 php preg_match 创建您自己的模板解决方案相关的其他问题的附加链接。感谢 hek2mgl 的回答。干杯 - gitscripts.com
  • @CasimiretHippolyte 请注意,<Casimir><et><Hippolyte> 不能正常工作,但这不是问题。正则表达式用于特定用途。您发布了不同的用法,所以不要指望我的正则表达式适用于不同的用法。
  • @CasimiretHippolyte Like you prefer 是什么意思??
猜你喜欢
  • 1970-01-01
  • 2013-07-24
  • 2018-04-05
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多