Pour modifier un caractère dans un champ texte, tu récupères la saisie de l'utilisateur, et tu utilises la fonction str_replace. Elle prend trois arguments : le caractère à remplacer, le caractère qui remplacera, et la chaîne sur laquelle agir.
Exemple :
$texte = $_POST("texte"); // Récupération du texte
$texte = str_replace(" ", "_", $texte);
echo($texte);
Imaginons que tu saisisses "Hello World !". Alors, il affichera "Hello_World_!".
Pour ton autre problème, je ne peux pas t'aider, débutant moi-même en PHP...