2011-05-03 74 views
1

我使用symfony 1.4.11和doctrine。我有帮手:Symfony帮手和数据库

function filterwords($text){ 

    $filterWords=array ('some','filter','words'); 
    $filterCount = sizeof($filterWords); 
     for($i=0; $i<$filterCount; $i++){ 
     $text = preg_replace('/\b'.$filterWords[$i].'\b/ie',"str_repeat('*',strlen('$0'))",$text); 
             } 
     return $text; 
           } 
    } 

所有的工作正常。但是我想创建模块,管理员可以添加单词以从后端进行过滤。是否可以从数据库中的数据传输到varaible $ filterWords我有下面的模式:

Filter: 
    actAs: 
    Timestampable: ~ 
    connection: doctrine 
    tableName: filter 
    columns: 
    word: {type: string(255), notnull: true} 

我可以在助手这样的事情,并得到字我需要什么:

$record = Doctrine_Core::getTable('Filter')->getWordFilter(); 

foreach ($record as $filter) 

    { 
echo $filter ->getWord(); 
    } 

但我不知道如何实现它我的功能...

对不起,我的英语不好。

回答

0

我不知道现在是不是正确的,但它的工作。

function filterwords($text){ 
    $record = Doctrine_Core::getTable('Filter')->getWordFilter();// 

    foreach ($record as $filter) 
    { 
     $filterWords[] = $filter->getWord(); 
    } 
     $filterCount = sizeof($filterWords); 
     for($i=0; $i<$filterCount; $i++){ 
     $text = preg_replace('/\b'.$filterWords[$i].'\b/ie',"str_repeat('*',strlen('$0'))",$text); 
             } 
     return $text; 
           } 
1

只是通过$filterwords作为一个变量:

function filterwords($text, $filterwords) 
{ 
    //etc. 
0
field = the column name that contains a value you're searching by. 

$record = Doctrine_Core::getTable('Words')->findOneByField($value); 
$filterWords = $record->getWord(); 
+0

谢谢你,但我不知道这是什么,我需要......我可以让'$记录= Doctrine_Core :: getTable(“字”) - > findOneBy(“字”,'一些过滤器'';'但是我需要从数据库获取所有数据并将其传递给我的$ filterWords,但也许我错了... – denys281 2011-05-04 09:52:48

+0

好的...主要的是你有它的工作。 – Tom 2011-05-04 16:52:55