|
|
|
| как определить что в строке нет ничего кроме пробелов?
то есть строка предполагает хоть 1 символ
и если этот символ не буква/цифра а пробел или множество пробелов - возвращало оповещение что нет букв/цифр в строке | |
|
|
|
|
|
|
|
для: moonfox
(17.06.2014 в 16:34)
| | trim() | |
|
|
|
|
|
|
|
для: confirm
(17.06.2014 в 17:15)
| | ухтыжничегосибе))))) | |
|
|
|
|
|
|
|
для: moonfox
(17.06.2014 в 17:32)
| | Если это сарказм, то зря:
<?
if (!trim($s)) {
// только пробелы или пустая строка
}
|
| |
|
|
|
|
|
|
|
для: Igorek
(18.06.2014 в 10:22)
| | Лучше не так, ибо это же не ради интереса, а для дальнейшего использования:
<?
if($string = trim($string)) {
//работаем с данными $string
} else //в обработчик ошибок
|
| |
|
|
|
|
|
|
|
для: Igorek
(18.06.2014 в 10:22)
| | да. нет
я никогда не пользовался ф-цией этой
как то представлялось что она так работать не будет | |
|
|
|
|
|
|
|
для: moonfox
(18.06.2014 в 14:53)
| | Все входные данные надо чистить от мусора и убирать нежелательное, и делать это до проверки соответствия условиям. И делается это тоже просто, функциями РНР:
<?
array_walk_recursive($values, function(&$v) {
$v = trim(stripslashes($v));
});
|
| |
|
|
|
|
|
|
|
для: moonfox
(17.06.2014 в 16:34)
| |
<?php
$pattern = "#^[\s]+$#";
if preg_match($pattern, $str){
//Только пробелы
}
|
| |
|
|
|
|
|
|
|
для: Commander
(18.06.2014 в 08:11)
| | Пагубно для задач типа выше изложенной использовать preg_match. | |
|
|
|
|
|
|
|
для: confirm
(18.06.2014 в 12:05)
| | Раздел форума как называется? Кроме того, trim() вы раньше меня предложили. | |
|
|
|
|
|
|
|
для: Commander
(18.06.2014 в 17:36)
| | А что, если существует такой раздел, значит подобным и надо решать задачи эти? Раздел разделом, а голова на плечах должна быть, и она для того, чтобы не заниматься тем, чем не следует. Надо наоборот "гнать" из этого раздела, уж очень часто обращаются сюда тогда, когда этого совсем не требуется. | |
|
|
|
|
|
|
|
для: confirm
(18.06.2014 в 18:20)
| | Я лично считаю так: если человек задал вопрос на этом форуме, значит ему требуется рег. выражение. И отвечаю соответственно. Потому что подноготная у вопроса может быть любая. | |
|
|
|
|
|
|
|
для: Commander
(18.06.2014 в 19:53)
| | Ясно, только к чему тогда такое неудовольствие? У этого явления "подноготная" как раз из таких мелочей и складывается. | |
|
|
|
|
|
|
|
для: confirm
(18.06.2014 в 20:01)
| | если по существу
то хотелось бы получить регулярку по задаче
- убирать все пробелы и переводы строк с начала и сконца строки
- сводить количество пробелов между буквами к одному, чтоб не было СЛОВО 100500 пробелов СЛОВО
- разрешать вводить не более одного тире за раз | |
|
|
|
|
|
|
|
для: moonfox
(18.06.2014 в 21:59)
| | - убирать по краям - trim
- убрать лишние в строке - preg_replace с паттерном '/\s{2,}/'
- разрешением ввода N-раз рег. выражения не занимаются
Я вам уже писал о вводе и обработке ошибок, так, как это может быть представлено в виде специальной задачи выполняемой сервером.
Удалять крайние пробелы может быть выгоднее сразу у всех принимаемых данных, так как не факт, что предстоит еще и последующая проверка, а хранить мусор нет нужды. Как предварительно удаляются крайние и слеши, я написал выше. Долбить этим каждое входное значение, зачем? | |
|
|
|
|
|
|
|
для: confirm
(19.06.2014 в 04:45)
| | я боюсь регулярок
очень боюсь (
уже лет 7 боюсь
все никак и ничерта в них не понимаю...
как к ним подойти???
читать много манов?? | |
|
|
|
|
|
|
|
для: moonfox
(19.06.2014 в 14:46)
| | Здесь где-то была книга по рег. выражениям. Я уже просил cheops'a дать ссылку на нее в другой теме, сам нашел (через яндекс, не помнил даже автора) - http://www.softtime.ru/info/fridl.php. Прочитайте книгу по ссылке - самое то по рег. выражениям, пригодится и в PHP, и для ЧПУ, да и вообще в любом языке есть средства для работы с рег. выражениями | |
|
|
|
|
|
|
|
для: Commander
(19.06.2014 в 19:06)
| | спс) | |
|
|
|
|
|
|
|
для: confirm
(18.06.2014 в 20:01)
| | А с чего вы взяли, что я там неудовольствие выражаю? Я просто хотел повеселить форумчан примером идиотизма. | |
|
|
|
|
|
|
|
для: Commander
(19.06.2014 в 07:05)
| | Да веселья в этом нет никакого, глупости в результатах работы, это не веселье, это наоборот печально. Вот чтобы не было таких глупостей, нужно понимание материала и использование его к месту. Иногда складывается впечатление, что начинающие представляют РНР как трех "китов": if...else, foreach и PCRE, и все, более ничего не существует. И если вместо того, чтобы начинающему дать понять, что он влез не туда, оказывать медвежью услугу, ну просит, почему бы и не показать, мы и будем порождать своими руками глупцов. | |
|
|
|
|
|
|
|
для: confirm
(19.06.2014 в 07:18)
| | Ситуация даже хуже, чем вы описываете. В разработку (язык не поворачивается назвать это программированием) лезут все, кому не лень. Мне часто приходится дорабатывать сайты - такие перлы встречаются, что мама дорогая... Здесь уже был идиотизм с степени гуголплекс, мое счастье, что можно сразу сказать владельцу сайта о переделке с нуля.
Когда на форуме фрилансеров человек задает вопрос о магазине на джумле+виртумарт, который тормозит, когда на него закинули 5000 наименований, а дизайнерша, которая делает магазины на джумле, спрашивает его о том, отдельный IP у его хостинга или нет - не знаешь, плакать или смеяться. Реально, где-то на weblancer.net пару лет назад была такая тема - никак ее в поиске не могу найти.
Представляете, что подобные веб-мастера могут наворотить, если хоть чуть-чуть подучат PHP? У меня пару месяцев назад был случай, когда мне пришлось настраивать отправку почты на магазине на той же самой джумле. Там была форма заявки в боковой панели, форма заказа запчасти и еще одна простая форма. Я все мозги сломал, пытаясь найти, почему почта не приходит. Докопался аж до функций отправки почты в самой джумле. А тут гляжу - что-то похожее на проверку капчи в шаблоне %)! И что выяснилось? Почта отправляется прямо в шаблоне!!! Дурь несусветная.
Я вот вчера разговаривал с СЕОшником, который в нашей команде работает. Он точно также полез куда не следует. Хорошо еще хоть догадался у меня проконсультироваться, чтобы делов не наделать. Правда там его собственный проект.
Так уж лучше здесь помогать любому посетителю, которому хватило ума корректно вопрос задать, в надежде найти потенциально талантливого программиста - вдруг действительно новый cheops отыщется. А то если мы здесь каждого будем в мануал посылать, что выйдет? Отсюда любой новичок убежит, поскольку другие будут его оскорблять за неопытность. Я почему и ответил так резко в соседнем форуме. Уверен, КМВ точно также ответил бы. | |
|
|
|