I prefer to use sub query list:
rm -r `ls | grep -v "textfile.txt\|backup.tar.gz\|script.php\|database.sql\|info.txt"`
-v, --invert-match select non-matching lines
\|
Separator
To avoid preserving files with similar names:
rm -r `ls | grep -v "^textfile.txt$\|^backup.tar.gz$"`