我使用qtranslate wordpress插件以多种语言存储博客内容。现在我需要从qtranslate标签中提取内容。
$post_title = "<!--:en-->English text<!--:--><!--:it-->Italian text<!--:-->";
什么是PHP代码&amp;正则表达式从这个字符串返回文本和语言?
非常感谢!
答案 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);
将获取当前语言并故障转移为默认语言。