# Story 1.2 — Corrigir `null` em `preg_replace`/`str_replace`

**Epic:** EPIC-1 PHP 8.4 Migration
**Status:** Draft
**Prioridade:** CRÍTICA — causa Deprecated Warning (erro em PHP 9)

## Descrição
A partir do PHP 8.1, passar `null` como parâmetro `$subject` em `preg_replace()` e `str_replace()` gera Deprecated Warning. No PHP 9.0 será Fatal Error. O código atual não verifica se variáveis POST/DB existem antes de passá-las para essas funções.

## Arquivos Afetados
- [ ] `app/Ajax/ajaxForm/cadastro.php:83` — sanitização de campos POST (campo `ie` inexistente)
- [ ] `app/Funcoes/funcoes.php:794` — `str_replace()` com valor null do banco
- [ ] `system/mysql.php:94` — `preg_match()` com `$this->filtro` null
- [ ] Verificar outros arquivos Ajax em `app/Ajax/ajaxForm/` com padrão similar

## Critérios de Aceite
- [ ] Todos os `preg_replace()` verificam se `$subject` não é null antes de chamar
- [ ] Todos os `str_replace()` verificam se `$subject` não é null antes de chamar
- [ ] `preg_match()` em `mysql.php` trata `$this->filtro` null
- [ ] Zero warnings "Passing null to parameter" no log do Nginx
- [ ] Cadastro funciona sem warnings

## Padrão de Correção
```php
// Antes (erro)
$_POST[$value] = preg_replace('/pattern/', '', $_POST[$value]);

// Depois (seguro)
if(isset($_POST[$value]) && $_POST[$value] !== null){
    $_POST[$value] = preg_replace('/pattern/', '', $_POST[$value]);
}
```

## File List
- `app/Ajax/ajaxForm/cadastro.php`
- `app/Funcoes/funcoes.php`
- `system/mysql.php`
- `app/Ajax/ajaxForm/*.php` (verificar todos)
