【发布时间】:2012-04-17 03:49:58
【问题描述】:
我得到了棘手/旧的 php 代码,我只是尝试清理它,修复一些错误,等等。服务器也使用 php 4。
问题如下:
我从数据库中取回一些数据,然后处理这些数据并显示它们。如果结果包含美元符号,PHP 会尝试将其作为变量处理。
例如:
$result = $this->sqlresult('SELECT * From Tablename where id=15');
$details = $result['description'];
echo $details;
让我举个例子,当 $result['description'] 包含任何错误的文本时,例如“这本书售价 148 美元”: 它通常不显示任何内容或显示错误的文本,例如 This book is available for 48.
我在细节上尝试了一个 preg 替换函数,我正在寻找 char changes 或 html_special_chars ,并且也尝试了这些,但没有发生任何事情,或者没有出现原始文本。
preg_replace('/\$ /','/$/;' $details);
我知道,传递变量的双引号会导致类似的错误。我也检查了this topic,但这不是我的解决方案。
当前的解决方案只是在 $ 符号的价格之间添加一个额外的空格,但我正在寻找一个更好的解决方案。
preg_replace('/\$/','/\$ /' $details);
【问题讨论】:
-
你的例子对我来说看起来不错。你能准确解释一下它是如何不起作用的吗?
-
是的,您能再显示一些代码吗?例如,您如何处理 $details?
-
如果 $result['description'] 包含任何带有 $ 符号的文本,例如“这次旅行花费 $148”,就会出现问题。
标签: php4