3

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

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

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

非常感谢!

4

2 回答 2

7

尝试类似:

<?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
)
于 2009-12-05T21:03:46.493 回答
1

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

qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($post_title);

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

于 2012-09-13T20:48:01.867 回答