| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > рызрыв строки на слова, разделители пробелы |
| Автор: g27 14.11.2009, 23:58 | ||
Здравствуйте. Делаю так.
но за разделители принимаются и плюсы, тоесть +. Почему так? Как сделать что бы только по пробелам? Спасибо. |
| Автор: Pitlord 15.11.2009, 00:10 | ||
g27, split() является устаревшей функцией, используй preg_split():
Можно даже explode(), но тогда будут пустые элементы при нескольких пробелах подряд. P.S. POSIX-функции, включая split(), не использовал ни разу, поэтому ответить на сам вопрос затрудняюсь. |
| Автор: bars80080 15.11.2009, 00:58 |
| проблема возникает скорее всего потому, что вы не кодируете данные перед передачей. откуда и как отправляются данные? |
| Автор: g27 15.11.2009, 10:26 |
| Pitlord, спасибо. Но ситуация не поменялась. bars80080, данные идут из формы через ajax. Всмысле не кодируются? Что-то с кодировкой не так? |
| Автор: Ипатьев 15.11.2009, 10:37 |
| неужели так сложно написать всего одну строчку, $search_array=split(" ","ааа ббб+ввв"); var_dump($search_array); и посмотреть, что она выведет? как можно заниматься программированием вслепую? оперируя не реальными строками, а воображаемыми? |
| Автор: g27 15.11.2009, 10:40 | ||
возможно функция декодирования не так работает как надо...
|
| Автор: bars80080 15.11.2009, 11:15 |
| я бы стал проверять данные пресуемые на аяксе. какие входят, как преобразуются, что получается. запустил бы тестовый пример (ааа ббб+ввв), где было бы видно, при отсылке + и пробел имеют одинаковый код или нет. имхо, на передаче нету функции encodeURIComponent() а может есть какие дополнительные обработки Добавлено через 1 минуту и 48 секунд п.с. это в дополнение, к тому что сказал Ипатьев |
| Автор: g27 15.11.2009, 12:24 |
| Ипатьев, как видите можно. Оказалось что + пропадает потом, видимо + и пробел имеет один и тот же код. |
| Автор: Ипатьев 15.11.2009, 14:38 |
| g27, как вижу - нельзя. Все разваливается в момент. При этом не нужно никаких особенных навыков программирования. Надо просто элементарно проверять свои догадки. Только так можно добраться до настоящей причины |
| Автор: g27 15.11.2009, 16:52 | ||||
от отсюда уже приходит не правильно... смотреть нужно тока там где input обрабатывает. смотрел в других местах сайта, везде тоже самое. |
| Автор: bars80080 15.11.2009, 19:40 | ||
вот почему полезно смотреть за тенденциями развития. не с дуру же выкинули ентот escape и поставили заместо него encodeURIComponent
escape не кодирует плюсы |
| Автор: g27 15.11.2009, 21:12 |
| bars80080, о да, точно. Спасибо!!! |