![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
omka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.11.2007 Репутация: нет Всего: нет |
Подскажите:
Есть строка такого вида "C:\temp\dir\". Как сделать что бы косая черта распознавались как косая чёрта а не как спецсимвол? Нужно чем-то заменить черту? Как это сделать? PS: Эта строка, после некоторых манипуляций, вставляется в текстфилд и должна иметь вид: "C:\temp\dir\" Это сообщение отредактировал(а) omka - 6.11.2008, 16:58 |
|||
|
||||
Zeroglif |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 1 Всего: 66 |
|
|||
|
||||
omka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.11.2007 Репутация: нет Всего: нет |
Наверное не точно объяснил в чём проблема.
1 Строка может быть любой. 2 после получения этой строки она складыватся с другой строкой. (в момент сложения строка уже без слешей). 3 результирующая строка вставляется в текстфилд Пример: 1-я строка "C:\temp\dir\" 2-я строка "folder" Когда складываю строки имею C:tempdir\ + folder. (слеши потерялись) Надо их как то replace() только не знаю как) |
|||
|
||||
destrd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 1.10.2008 Репутация: нет Всего: 4 |
Ну как-то так можно сделать
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski in comp.lang.emacs |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
наверное данные проходят определённуб обработку, прежде чем попадают под твои действия, и наверное эта обработка - засунуть в БД и ты уже достаёшь их оттуда. так?
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
bars80080,
Угу... Вероятно, они складываются вот так вот "$variable1$variable2" ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
omka |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.11.2007 Репутация: нет Всего: нет |
Ну как-то так можно сделать
Не помогает((( FireBug показывает:
Походу что-то другое надо... Суть программы вот в чём: сканирую файловую систему сервера, при выборе нужной папки - путь к ней вставляется в поле на другой странице... Вот этот путь формируется их того что приходит с сервера ("C:\dsts\dfdf\g\") + имя текущей папки ("folder"). Если просто склеивать строки - не получается, тк путь приобретает такой вид: "C:dstsdfdfgfolder.... PS: на сервере изменение пути не подходит - надо именно на клиенте. |
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
может на сервере провести необходимую обработку и поставлять клиенту нормальный путь?
|
|||
|
||||
omka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.11.2007 Репутация: нет Всего: нет |
А на клиенте это сделать возможно? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
фишка в том, что C:dstsdfdfgfolder - это не нормальный путь, его посечили видимо при выемке из базы. тогда надо разбираться с ней.
если вырубка происходит при передаче клиенту, то надо просто превратить \ в спецсимвол, либо экранировать. самое простое провести url-кодирование но в любом случае, надо прежде всего разобраться, на каком конкретно этапе происходит инквизиция. может они уже у тебя в базе хранятся в обрезанном состоянии. тогда задача вообще взята не с того конца |
|||
|
||||
destrd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 1.10.2008 Репутация: нет Всего: 4 |
Ну понятное дело. При объявлении слеши уже надо экранировать. т.е.
Тогда на выходе и получится по два слеша. Определись, когда у тебя слеши пропадают. --------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski in comp.lang.emacs |
|||
|
||||
omka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.11.2007 Репутация: нет Всего: нет |
Путь выводится на клиентской странице. Выводится правильно. Т.е. с сервера приходит "C:\folder\dir".
Но при обработке этой строки в скрипте получается что именно там слеш распознаётся как спецсимвол и неучитывается. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
omka,
![]() Это сообщение отредактировал(а) ksnk - 12.11.2008, 11:32 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
omka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.11.2007 Репутация: нет Всего: нет |
Ну вот к примеру код
При выводе даёт такой результат: "C:dir". Вывод: распознал \t как спецсимвол и не вывел в alert. Т.е. замену на клиенте произвести проблемматично....? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |