Bu bir etiketi yerine iyi / doğru yolu nedir?

0 Cevap php

Benim metin bu gibi bakmak kullanıcı teneke giriş modülleri; [[form:contact]], bir modül ve adını temsil eden; [[module:name]

Ben metinden bu geri, ve bölünmüş, ben istiyorum veritabanından bilgi almak ve bunu değiştirmek için aşağıdaki kodu kullanabilirsiniz.

Bu en iyi yolu nedir? İyi çalışır, ancak bu en etkili yolu ise emin değilim, ve siz bunu düşünürdüm whay merak ediyordum ...

Ben Zend Framework ile çalışıyorum.

Bu kodu:

$start = strpos($this->view->page->text, "[[");
$end = strpos($this->view->page->text, "]]");
$length = $end-$start+2;

$getModuleTag = substr($this->view->page->text, $start, $length);
$length = $end-$start-2;
$removeTags = substr($getModuleTag, 2, $length);

$split = strpos($removeTags, ":");

$GetModuleSort = substr($removeTags, 0, $split);
$GetModuleName = substr($removeTags, $split+1);

// Get the wanted data from the database
switch($GetModuleSort)
{
    case 'form':
        $this->result = $this->formsService->GetFormByName($GetModuleName);
        $replaceTag = $this->result->elements;
    break;
}

// TEST OUTPUT
$final = str_replace($getModuleTag, $replaceTag, $this->view->page->text);
$this->view->finalOutput = $final;

0 Cevap