Я создал следующую функцию для удаления веб-адресов из представленных полей формы. Я сделал это в качестве меры предотвращения спама.
<?PHP
function scrubURL($field)
{
return preg_replace('@((https?://)?([-\\w]+\\.[-\\w\\.]+)+\\w(:\\d+)?(/([-\\w/_\\.]* (\\?\\S+)?)?)*)(?:[?&]\S+=\S*)*@i', '', $_POST[$field]);
}
?>
Я пытаюсь сослаться на функцию при обработке моей формы: $ _POST ['first'] = scrubURL ($ _ POST ['first']);
Я получаю сообщение об ошибке: Undefined index: http: // somewebsite.com
Почему-то он передает значение из формы, а не само поле. Я попытался заключить поле в кавычки, scrubURL ("$ _ POST ['first']") и получил сообщение об ошибке: синтаксическая ошибка, неожиданный "первый" (T_STRING), ожидание ',' или ')'
Я не вижу причины, так как я успешно обработал другую форму. Что я делаю не так?