【问题标题】:Simple Regular Expression to return text from Wordpress title - qtranslate plugin从 Wordpress 标题返回文本的简单正则表达式 - qtranslate 插件
【发布时间】:2010-12-23 15:06:18
【问题描述】:

我正在使用 qtranslate wordpress 插件来存储多种语言的博客内容。现在我需要从 qtranslate 标签中提取内容。

$post_title  = "<!--:en-->English text<!--:--><!--:it-->Italian text<!--:-->";

从这个字符串返回文本和语言的 php 代码和正则表达式是什么?

非常感谢!

【问题讨论】:

    标签: php regex wordpress qtranslate


    【解决方案1】:

    这些都是出色的例子。但是,我最近发现 qTranslate 有自己的可用功能:

    qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($post_title);
    

    这将获取当前语言并故障转移到默认语言。

    【讨论】:

      【解决方案2】:

      尝试类似:

      <?php
      $post_title  = "<!--:en-->English text<!--:--><!--:it-->Italian text<!--:-->";
      
      $regexp = '/<\!--:(\w+?)-->([^<]+?)<\!--:-->/i';
      if(preg_match_all($regexp, $post_title, $matches))
      {
          $titles = array();
          $count = count($matches[0]);
          for($i = 0; $i < $count; $i++)
          {
              $titles[$matches[1][$i]] = $matches[2][$i];
          }
          print_r($titles);
      }
      else
      {
          echo "No matches";
      }
      ?>
      

      打印:

      Array
      (
          [en] => English text
          [it] => Italian text
      )
      

      【讨论】:

      • 这太棒了!像魅力一样工作:) 干得好 Atli!谢谢
      猜你喜欢
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多