У меня есть это в моем php db.php
$mysqli = new mysqli($hostname, $user, $pass, $bd);
foreach($_POST as $key => $value){
if (!is_array($value)){
$_POST[$key] = strip_tags($value);
}
}
Сначала мое соединение с БД, а затем простое foreach
удалить HTML-теги из всех постов. эта страница включена во все остальные, которые нуждаются в подключении БД.
Могу ли я изменить эту функцию, чтобы применить ‘strip_tags’ ко всем выбранным mysqli (вместо сообщений) и удалить все теги там?
например
1. db connection,
2. foreach/function to remove all tags from any mysqli select,
3. mysqli select query (with no html tags as result).
Вы можете обернуть это в функцию:
function wrapp($sql){
// You could add more stuff to change like htmlspeciclchars
return strip_tags($sql);
}
Вы можете вызывать эту функцию каждый раз, когда делаете запрос.
$mysqli->query(wrapp($sql));
Если вы хотите работать с вашим подключением еще больше, было бы разумно создать для него класс и реализовать в нем функцию, подобную приведенной выше. Насколько я знаю, нет способа сделать это автоматически без вызова функции или чего-то в этом роде.
Я не думаю, что есть способ сделать это автоматически. Вы можете сделать что-то вроде этого:
Другой вариант — использовать ORM. Например доктрина позволяет указать функцию, которая вызывается перед сохранением объекта. Вы можете удалить метки там.