我使用symfony 1.4.11和doctrine。我有帮手:
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;
}
}
一切正常。但是我想创建模块,管理员可以添加单词来从后端进行过滤。是否有可能将数据从数据库传输到可变的 $ 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 :(得分:1)
只需将$filterwords
作为变量传递:
function filterwords($text, $filterwords)
{
//etc.
答案 1 :(得分:0)
field = the column name that contains a value you're searching by.
$record = Doctrine_Core::getTable('Words')->findOneByField($value);
$filterWords = $record->getWord();
答案 2 :(得分: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;
}