简单的正则表达式从Wordpress标题返回文本 - qtranslate插件

时间:2009-12-05 20:47:10

标签: php regex wordpress-plugin qtranslate

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

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

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

非常感谢!

2 个答案:

答案 0 :(得分:6)

尝试类似:

<?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
)

答案 1 :(得分:1)

这些都是很好的例子。但是,我最近发现qTranslate有自己的功能:

qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($post_title);

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