Я начинаю со строки следующим образом: «Я хотел бы: \ r \ n \ r \ n1.) Сбросить эту беспорядок \ r \ n \ r \ n \ 2.) Теперь, пожалуйста,« (это «очищенный» пользователь текст ввода).
По сути, мое утверждение было бы следующим:
$query = sanitize($_POST['query']); // gives the result string
Я хочу удалить «\ r \ n \ r \ n» из этой строки. Пока я пытаюсь сделать это, используя следующее:
$query = preg_replace("/\r\n\r\n/", " ", $query);
или
$query = str_replace("\r\n\r\n", " ", $query);
Кажется, никто не работает?
Однако, если я сделаю следующее:
$query = "I would like to:\r\n\r\n1.) Rid this mess\r\n\r\n\2.) Now Please"; $query = preg_replace("/\r\n\r\n/", " ", $query); // I tried str_replace() too var_dump($query); exit;
Я получаю результат, который я желаю …
Может ли кто-нибудь объяснить мне, почему это происходит и как я могу решить проблему?
Любые советы, предложения или предложения были бы очень благодарны, поскольку я не почти лысый от вытягивания волос …
Спасибо!
РЕДАКТИРОВАТЬ :
Это может помочь выполнить функцию sanitize ():
function html($text) { return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); } function htmlout($text) { return html($text); } function cleanInput($input) { $search = array( '@<script[^>]*?>.*?</script>@si', // Strip out javascript '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly '@<![\s\S]*?--[ \t\n\r]*>@' // Strip multi-line comments ); $output = preg_replace($search, '', $input); $output = htmlout($output); return $output; } function sanitize($input) { if (is_array($input)) { foreach($input as $var=>$val) { $output[$var] = sanitize($val); } } else { include "C:/wamp/www/includes/inc/main/db.inc.php"; if (get_magic_quotes_gpc()) { $input = stripslashes($input); } $input = cleanInput($input); $output = mysqli_real_escape_string($link, $input); } return $output; }