Знак доллара в тексте при передаче переменной - PullRequest
0 голосов
/ 03 апреля 2012

Я получил старый / старый php-код, я просто пытаюсь его почистить, исправить некоторые ошибки и так далее. Также сервер использует php 4.

Проблема заключается в следующем:

Я получаю некоторые данные из базы данных, работаю с этими данными и показываю их. Если результат содержит знак доллара, PHP попытается обработать его как переменную.

Например:

$result  = $this->sqlresult('SELECT * From Tablename  where id=15');
$details = $result['description'];
echo $details;

Позвольте мне показать пример того, что происходит, когда $ result ['description'] содержит неверный текст, например "Эта книга доступна за $ 148": Обычно он не показывает ничего или показывает неправильный текст, как эта книга доступна для 48.

Я пробовал функции замены preg в деталях, я искал изменения в символах или html_special_chars, и пробовал их тоже, но ничего не произошло или исходный текст не появился.

preg_replace('/\$ /','/&#36/;' $details);

Я знаю, что двойные кавычки при передаче переменных вызывают аналогичную ошибку. Я тоже проверил эту тему , но это не было решением для меня.

Текущее решение - просто добавить дополнительный пробел между ценой и знаком $, но я ищу более подходящее.

preg_replace('/\$/','/\$ /' $details);

1 Ответ

0 голосов
/ 02 мая 2012

Вы пытались использовать escape-символы? Эта книга стоит $ 148.

...