Не видит данные из функций

Есть некая страница 'worker.php' на которую поступают данные методом пост, которые принимаются таким:

if (isset($_POST['something'])) {
  $something = trim(htmlspecialchars(strval($_POST['something'])), " \t\n\0");

кодом. Так как такие данные поступают неоднократно и не только в этом документе в соседнем файле 'functions.php' была создана такая:

function text_cleaner($some_text) {
  $some_text = trim(htmlspecialchars(strval($some_text)), " \t\n\0");
}

функция, а сам файл был подключён к предыдущему методом:

include("functions.php");

а в самом файле 'worker.php' было записано:

if (isset($_POST['something'])) {
  $something = text_cleaner($_POST['something']), " \t\n\0");

после чего данные из POST'а он начал терять. Подскажите пожалуйста в чём проблема и собственно где я ошибся?


Ответы (2 шт):

Автор решения: Alpha

В этой строке

$something = text_cleaner($_POST['something']), " \t\n\0");

вы не удалили лишнее , " \t\n\0") И функция text_cleaner должна возвращать результат:

function text_cleaner($some_text){
    return trim(htmlspecialchars(strval($some_text)), " \t\n\0");
}
→ Ссылка
Автор решения: Haku Kimura

Вы ничего не возвращаете в своей функции text_cleaner(), поэтому в переменную $something ничего и не записывается. Для этого добавьте оператор return перед значением, которое нужно вернуть и использовать в дальнейшем:

function text_cleaner($some_text)
{
    return trim($string);
}
→ Ссылка