![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
dimes |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: 2 Всего: 14 |
Версия PHP 4.3.10
Проблемма в том что $title может содержать символ $ например "Price: $39.94" после замены "Title: <-title->" получаем "Title: Price: .94" делаю так: $replacement=array( preg_quote( $title ) ); получается: "Title: Price: $39\.94"; Как быть? Удалять слеши не предлогать ![]() Добавлено @ 12:18 пока я решил использовать str_replace но хотелось бы понять как решить эту проблему |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А почему?
Добавлено @ 12:36 в str_replace вместо второго параметра " & # 3 6 ; " (пробелы убрать) |
||||
|
|||||
dimes |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: 2 Всего: 14 |
Потому что в тексте могут быть и нужные слеши(всмысле не как технические а как просто символы) т.е. это единственный способ решить проблему? жаль... |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
dimes
Ты заменяй не слэши, а $.. На его ASCII код. |
|||
|
||||
dimes |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: 2 Всего: 14 |
угу а потом назад если он нужен будет именно как $ а не &#...; |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
dimes
ты сам так поставил задачу. Я так понимаю эти $48.34 - стоимость чего-то. Знак доллара никогда не хранится вмесе со стоимостью.. В БД, например... А лишь доставляется по шаблону рядом с ней. |
|||
|
||||
dimes |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: 2 Всего: 14 |
Ладно проехали, похоже прямого решения не существует... что странно
![]() |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Народ, а не проще str_replace использовать???
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
dimes |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: 2 Всего: 14 |
|
||||
|
|||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
dimes, понял. Можно попробовать сделать так:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
dimes |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: 2 Всего: 14 |
addslashes не подойдет потому что:
Returns a string with backslashes before characters that need to be quoted in database queries etc. These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte). здесь нужно preg_quote но тогда появляются лишние слеши $title='Price: $34.23 " \Q \qqq'; # Я не стал ставить лишнии слеши чтобы не смущать print preg_quote($title); # Price\: \$34\.23 " \\Q \\qqq Что правильно но после preg_replace получится: Price\: $34\.23 " \Q \qqq что не совсем правильно и применять к этой строке stripslashes нельзя. Вообще функция ведет себя очень странно если он обрабатывает строку то должна выкидывать экранирующие слеши если нет то не должна обрабатывать $.. как переменную... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |