Si si.
Stando alla biblica guida che mi è stata suggerita post-addietro [ http://www.regular-expressions.info/ ], gli escape sono corretti..e dove non li vedi..non sono necessari.
Ad ogni modo, ho risolto il problema con un escamotage "a monte".
Eccolo.
Codice PHP:
if (isset($_POST['invio'])) { # All'invio dei dati..
/* ..sostituisco dal principio i carriage return e i line feed con un semplice spazio.
* In questo modo, la textarea diventerà un'area di testo "mono-stringa", cioè senza
* alcun ritorno a capo. Così, la preg_match di controllo potrà svolgere il suo lavoro
* senza il rischio di non incontrare i caratteri speciali posti sotto i CRLF.
*/
$testo = preg_replace('/(\r\n|\r|\n)+/', ' ', $_POST['testo']); # CRLF in varie soluzioni
if (preg_match("/($|?|(|)|%|=|#|<|>|/|&|*)+/", $testo)) {
echo "Altolà! Ndo vai se il carattere speciale (e altri) tu hai??";
exit();
}
}
Così facendo, i ritorni a capo nella textarea verranno convertiti e testando l'errore con var_dump ne risulterà un carattere di spazio normale.
Questo problema mi ha bloccato per una settimana nonstante abbia letto guide su guide, articoli su articoli.
Propongo questo thread come soluzione per coloro che come me si sono trovati in questa situazione.
Buon proseguimento a tutti.