3

ブログのコンテンツを複数の言語で保存するためにqtranslatewordpressプラグインを使用しています。次に、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 に答える