新手问题
我有以下功能:
function isadult($description)
{
$bad=/*comma separated bad words*/;
$bad=explode(",",$bad);
foreach($bad as $key)
{
if(eregi($key,$description))
{
return true;
}
}
return false;
}
if (isadult($description)) exit;
else
此函数仅适用于变量$description
如果我想将此函数也应用于变量$title
如何修改函数?
并且已弃用eregi
如何使用preg_match
更改eregi?
谢谢
答案 0 :(得分:1)
http://www.php.net/manual/en/functions.arguments.php
http://www.php.net/manual/en/function.preg-match.php
新手应阅读文档;)
答案 1 :(得分:1)
您可以将$description
和$title
变量发送到该函数。函数声明中提供的变量名仅引用函数作用域中的变量名,而不是函数外的任何变量名,即使它们恰好相同(在您的情况下与$description
相同)。 / p>
尝试if(isadult($title)) {
,您会发现它会起作用。
外部变量 $title
的值被放入函数变量 $description
,并将被称为{{1}在函数范围内( {和} 之间)
由于您未在示例中进行任何实际的正则表达式匹配,因此您也可以将$description
替换为eregi()
,stripos()
或类似...
stristr()
您还应该立即将坏词列表定义为数组,而不是使用php转换它。
if(stripos($description, $key) !== false) {