Добавлено: 27.06.2018 / 19:16
# kantry (27.06.2018 / 19:05)
ДоХтор, Так пробовал У меня там фильтр, надо мороженого поесть наверно
$string = filter_input(INPUT_POST, 'string', FILTER_VALIDATE_REGEXP,
array('opti
нужно было с preg_replace() попробовать (поиск пробелов сначала логической строки с заменой на строку нулевой длины)
Добавлено: 27.06.2018 / 19:17
$str = ' какой-то текст
какой-то текст
какой-то текст
какой-то текст';
$str = preg_replace('~^\s*~m', '', $str);
var_dump($str);
ДоХтор, Да я наоборот все preg_ убираю оттуда)) Вот и хотел валидатор доделать, пока не получается без лишних телодвижений
# kantry (27.06.2018 / 19:21)
ДоХтор, Да я наоборот все preg_ убираю оттуда)) Вот и хотел валидатор доделать, пока не получается без лишних телодвижений
А чем тебе семейство preg_ не угодило, если не секрет? Это ereg_ устарело и выпилено.
ДоХтор, Да оно ни при чем, с семейством
прег все в порядке, это мне в голову пришла
бредовая идея избавиться от обращения к глобальным переменным
ДоХтор, Ну я же говорю, все обращения напрямую к глобальным переменным решил убрать, заодно и с FILTER_VALIDATE_REGEXP поэкпериментировать
Вот такая регулярка сработала
if (filter_has_var(INPUT_POST, 'hair_color')) {
$hair_color = filter_input(INPUT_POST, 'hair_color', FILTER_VALIDATE_REGEXP,
array('options' => array('regexp' => '/^([^\h][A-zА-я \-]*[^\h])$/u','default' => null)));
}
# kantry (27.06.2018 / 19:57)
ДоХтор, Ну я же говорю, все обращения напрямую к глобальным переменным решил убрать, заодно и с FILTER_VALIDATE_REGEXP поэкпериментировать
Вот такая регулярка сработала
if (filter_has_var(
Про эксперимент понятно. А про глобальные переменные я всё равно не понял... Ну да ладно, нашёл решение и ок.
# ДоХтор (27.06.2018 / 20:01)
про глобальные переменные я всё равно не понял
Вот от подобных мест избавлялся))
if (isset($_POST['hair_color']) && preg_match('/^([^\h][A-zА-я \-]*[^\h])$/u', $_POST['hair_color']))
# kantry (27.06.2018 / 20:10)
Вот от подобных мест избавлялся))
if (isset($_POST['hair_color']) && preg_match('/^([^\h][A-zА-я \-]*[^\h])$/u', $_POST['hair_color']))
Может проще было бы работать с потоком? Кода вроде меньше получится, да и читабельней будет, наверное:
php (+/-)
$str = urldecode(file_get_contents('php://input'));
!$str ?: var_dump($str);
Можно протестить с формой:
html (+/-)
<form method="post">
<textarea name="txt"></textarea>
<input type="submit" value="Ок" />
</form>
ДоХтор, А я наверно так и сделаю, проверок правда не убавится, но код точно поприличней станет))