Ben (bir paragraf metni içinde) sayıların bir yük ile bir giriş almak ve s bir dizi ile değiştirmek üzere tasarlanmıştır (bu bağlamda önemli değil) bir Joomla eklentisi var.
Benim sorun benim $ makale-> metin üzerinde bir preg_replace yapmak gerekiyor, ama o eşleşen terimlere değişiklikleri uygulamak için nasıl bilmiyorum olmasıdır. Ben preg_replace_callback gördüm, ama ben bir işlev içinde diyebilirim bilmiyorum.
function onPrepareContent( &$article, &$params, $limitstart )
{
global $mainframe;
// define the regular expression
$pattern = "#{lotterynumbers}(.*?){/lotterynumbers}#s";
if(isset($article->text)){
preg_match($pattern, $article->text, $matches);
$numbers = explode("," , $matches[1]);
foreach ($numbers as $number) {
echo "<div class='number'><span>" . $number . "</span></div>";
}
}else{
$article->text = 'No numbers';
}
return true;
}
DEĞİŞTİREMEZ KOD:
function onPrepareContent( &$article, &$params, $limitstart )
{
global $mainframe;
// define the regular expression
$pattern = "#{lotterynumbers}(.*?){/lotterynumbers}#s";
if(isset($article->text)){
preg_match($pattern, $article->text, $matches);
$numbers = explode("," , $matches[1]);
foreach ($numbers as $number) {
$numberlist[] = "<div class='number'><span>" . $number . "</span></div>";
}
$numberlist = implode("", $numberlist);
$article->text = preg_replace($pattern, $numberlist, $article->text);
}else{
$article->text = 'No numbers';
}
return true;
}