请教一个屏蔽字符串的问题

时间:2023-01-07 15:43:21
我在进行网站内容添加的时候,比如内容中包括了"if","end"等ASP语言的关键字,这样的话,在显示出来的时候,这样的关键字显示不出来。
怎么才能使这样的关键字显示出来!

11 个解决方案

#1


replace(replace(str,"end",""),"if","")

#2


用Replace函数替换掉

#3


不太明白你的意思,
你可以加的时候用其它字符代替,显示时再把他们换回来

#4


为什么会显示不出来?字符串啊

#5


你添加的时候不显示是因为程序把关键字屏蔽了..不过你可以试一下在中间加一个空格或者在两边加一个空格试试看..比如i  f  , if  ,或者i!f..这样应该就没问题了.

#6


可以把<% %>这些符号替换成<p></p>

#7


server.htmlencode
看看
应该可以的
<%=server.htmlencode(rs("aaa"))%>

#8


你是过滤掉了这一类的词吧

#9


大家难道没有遇到这样的问题吗?
也就是文本中的字符串包含了一些ASP代码中的关键字,这样的话,就不能正确显示在页面。

#10


是的,就是过滤掉这些ASP的关键字

#11


返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。

Replace(expression, find, replacewith[, compare[, count[, start]]])
参数
expression 
必选项。字符串表达式包含要替代的子字符串。 
Find 
必选项。被搜索的子字符串。 
Replacewith 
必选项。用于替换的子字符串。 
Start 
可选项。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用 
count 
可选项。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和 start 关联时必须用。 
Compare 
可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,缺省值为 0 ,这意味着必须进行二进制比较。 
设置
compare 参数可以有以下值:

常数 值 描述 
vbBinaryCompare 0 执行二进制比较。 
vbTextCompare 1 执行文本比较。 

返回值
Replace 返回以下值:

如果 Replace 返回 
expression 为零长度 零长度字符串 ("")。 
expression 为 Null 错误。 
find 为零长度 expression 的副本。 
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。 
start > Len(expression) 零长度字符串。 
count 为 0 expression 的副本。 

说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。

下面的示例利用 Replace 函数返回字符串:

Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y")   '二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
MyString = Replace("XXpXXPXXp", "p", "Y", '文本比较从第三个字符开始。返回 "YXXYXXY"。3,, -1, 1) 

#1


replace(replace(str,"end",""),"if","")

#2


用Replace函数替换掉

#3


不太明白你的意思,
你可以加的时候用其它字符代替,显示时再把他们换回来

#4


为什么会显示不出来?字符串啊

#5


你添加的时候不显示是因为程序把关键字屏蔽了..不过你可以试一下在中间加一个空格或者在两边加一个空格试试看..比如i  f  , if  ,或者i!f..这样应该就没问题了.

#6


可以把<% %>这些符号替换成<p></p>

#7


server.htmlencode
看看
应该可以的
<%=server.htmlencode(rs("aaa"))%>

#8


你是过滤掉了这一类的词吧

#9


大家难道没有遇到这样的问题吗?
也就是文本中的字符串包含了一些ASP代码中的关键字,这样的话,就不能正确显示在页面。

#10


是的,就是过滤掉这些ASP的关键字

#11


返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。

Replace(expression, find, replacewith[, compare[, count[, start]]])
参数
expression 
必选项。字符串表达式包含要替代的子字符串。 
Find 
必选项。被搜索的子字符串。 
Replacewith 
必选项。用于替换的子字符串。 
Start 
可选项。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用 
count 
可选项。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和 start 关联时必须用。 
Compare 
可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,缺省值为 0 ,这意味着必须进行二进制比较。 
设置
compare 参数可以有以下值:

常数 值 描述 
vbBinaryCompare 0 执行二进制比较。 
vbTextCompare 1 执行文本比较。 

返回值
Replace 返回以下值:

如果 Replace 返回 
expression 为零长度 零长度字符串 ("")。 
expression 为 Null 错误。 
find 为零长度 expression 的副本。 
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。 
start > Len(expression) 零长度字符串。 
count 为 0 expression 的副本。 

说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。

下面的示例利用 Replace 函数返回字符串:

Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y")   '二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
MyString = Replace("XXpXXPXXp", "p", "Y", '文本比较从第三个字符开始。返回 "YXXYXXY"。3,, -1, 1)