Wordpress başlığı metni döndürmek için basit Düzenli İfade - qTranslate eklentisi

2 Cevap php

Ben birden çok dilde blog içeriği depolamak için qTranslate wordpress eklentisi kullanıyorum. Şimdi qTranslate etiketleri içeriği ayıklamak gerekir.

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

Ne kodu php & olurdu Bu dizeden metni ve dili dönmek için normal ifade?

Thanks a lot!

2 Cevap

Böyle bir şey deneyin:

<?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";
}
?>

Baskılar:

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

Bunlar parlak örnekleridir. Ancak, son zamanlarda qTranslate mevcut kendi işlevi vardır keşfetti:

qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($post_title);

Geçerli dili kapmak ve varsayılan başarısız hangi.