我有严格/旧的PHP代码,我只是尝试清理它,修复一些错误,等等。服务器也使用php 4。
问题如下:
我从数据库中获取了一些数据,我处理这些数据并显示它们。如果结果包含美元符号,PHP会尝试将其作为变量处理。
例如:
$result = $this->sqlresult('SELECT * From Tablename where id=15');
$details = $result['description'];
echo $details;
让我举例说明当$ result ['description']包含任何错误的文字时会发生什么,例如'这本书有148美元可用': 它通常不显示任何内容或显示错误的文本,例如本书可用于48。
我在细节上尝试了preg替换函数,我正在寻找char更改,或者html_special_chars,并尝试过那些,但没有发生任何事情,或者没有原始文本出现。
preg_replace('/\$ /','/$/;' $details);
我知道,传递变量的双引号会导致类似的错误。我也检查了this topic,但这不是我的解决方案。
目前的解决方案只是在$ sign的价格金额之间增加一个额外的空间,但我正在寻找一个更好的空间。
preg_replace('/\$/','/\$ /' $details);
答案 0 :(得分:0)
您是否尝试过使用转义字符?这本书是\ $ 148。