【问题标题】:Contact Form 7 content explode by regular expressionsContact Form 7 内容因正则表达式而爆炸
【发布时间】:2015-01-21 07:41:10
【问题描述】:

我有一份从 WP 帖子获得的“联系表 7”的内容。它看起来像这样:

Your Name (required)
[text* your-name]

Your Email (required)
[email* your-email]

Subject
[text your-subject]

Your Message
[textarea your-message]

[submit "Send"]

我需要通过正则表达式将此内容分解为一个数组。在该过程结束时,它应该如下所示:

$arr = array ( 
'text* your-name',
'email* your-email',
'text your-subject',
'textarea your-message',
'submit "Send"',
)

有没有人知道如何使用正则表达式或任何其他方式来做到这一点? 谢谢:)

【问题讨论】:

    标签: php regex wordpress contact-form contact-form-7


    【解决方案1】:
    (?<=\[)([^\]]+)
    

    试试这个。抓住捕获。查看演示。

    http://regex101.com/r/yP3iB0/8

    $re = ""(?<=\\[)([^\\]]+)"";
    $str = "Your Name (required)\n[text* your-name]\n\nYour Email (required)\n[email* your-email]\n\nSubject\n[text your-subject]\n\nYour Message\n[textarea your-message]\n\n[submit \"Send\"]";
    
    preg_match_all($re, $str, $matches);
    

    【讨论】:

      【解决方案2】:

      注意很抱歉回复了很久以前生成的这个帖子,但这肯定会对其他人有所帮助。

      大部分开发者在开发与CF7相关的任务时,他们需要字段的类型和名称,但由于自定义帖子类型导致表单存储为内容,通常他们无法抓取。

      所以要获取类型、名称、基本类型等...您需要获取所有联系表单帖子。 您需要遍历每个联系表单帖子并将表单的内容作为 agument 传递到下面的扫描功能中

          foreach($form as $objForm){
           $manager = WPCF7_FormTagsManager::get_instance();
           $tags  = $manager->scan( $objForm->form );
           $filter_result = $manager->filter( $tags, $cond );
            foreach ($filter_result as $key => $value) {
                echo $value->type;
                echo $value->name;
            }
         }
      

      希望这对其他人有所帮助:)

      【讨论】:

      • 很酷的解决方案。您没有指定 $form 或 $cond 的内容。我在常规函数中使用它(传递所有变量 - 不被任何过滤器或操作挂钩继承):$meta = get_post_meta($id)['_form']; $manager = WPCF7_FormTagsManager::get_instance(); $tags = $manager-&gt;scan( $meta ); $filter_result = $manager-&gt;filter( $tags, $data ); $id 是表单 id。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 2011-07-15
      • 2021-05-03
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 2020-08-11
      相关资源
      最近更新 更多