我正在尝试将旧的Classic ASP站点移动到PHP中运行。我正在重写它的一部分,但是我遇到了以下函数,这导致了一些问题。基本上,函数FixForSQL
在将所有函数添加到数据库之前在所有内容上运行,然后对使用SQL查询返回的数据运行FixForHTML
以对其进行格式化以便显示。
目前,如果我在PHP中显示从数据库中检索到的文本块,它显示为一个没有分段符号的大块文本,我推测是因为我没有完成Chr(13)
的替换等等Chr(9)
是!
有谁知道如何重现PHP 5中发生的一切?
Function FixForHTML(tmpText1)
Dim tmpText2
tmpText2 = tmpText1
tmpText2 = Replace(tmpText2,Chr(13),"</p><p>" & vbCrLf)
tmpText2 = Replace(tmpText2,Chr(9),"    ")
FixForHTML = tmpText2
End Function
Function FixForSQL(tmpText1)
Dim tmpText2
tmpText2 = tmpText1
tmpText2 = Replace(tmpText1,vbCrLf,Chr(13))
tmpText2 = Replace(tmpText2,Chr(39),String(2,39))
FixForSQL = tmpText2
End Function
答案 0 :(得分:3)
Chr(13)
是ASCII代码为13的字符。您可以在PHP中使用chr(13)
来获取它。
13
是 Cariage return 的代码。 9
用于水平标签。在PHP中,您还可以使用"
分别\n
将可分析字符串(由\t
s分隔的字符串)中的字符设为$text = str_replace(array("\n", "\r"), array("</p><p>", "    "), $text);
。
PHP示例代码:
FixForSQL
对于'
函数,它只是用''
替换{{1}}个字符,以便为SQL查询转义它们。