После выяснения и повторного серфинга в интернете,
Я пошел по тому же пути, что и ссылка * , упомянутая выше , но я добавил несколько строк кода и использовал preg_replace
и str_replace
в качестве разделителей обрезки,
с помощью команды PHP artisan для создания файла промежуточного программного обеспечения для обрезки данных запроса,
php artisan make:middleware BeforeAutoTrimmer
и редактирования функции, поместите array_walk_recursive
внутри оператора if и вызова функции trim, следующей за preg_replace
и str_replace
, шаблон выглядит как @kyle answer
if ($input) {
array_walk_recursive($input, function (&$item) {
$item = trim(preg_replace('/\s\s+/', ' ', str_replace("\n", " ", $item)));
$item = ($item == "") ? null : $item;
});
$request->merge($input);
}
и класс с методом trim будет выглядеть следующим образом:
<?php
namespace App\Http\Middleware;
use Closure;
class BeforeAutoTrimmer
{
public function handle($request, Closure $next)
{
$input = $request->all();
if ($input) {
array_walk_recursive($input, function (&$item) {
$item = trim(preg_replace('/\s\s+/', ' ', str_replace("\n", " ", $item)));
$item = ($item == "") ? null : $item;
});
$request->merge($input);
}
return $next($request);
}
}
автоматически удаляет лишние пробелы при каждом вводе в базу данных