我想捕获我的搜索词并将它们传递给一个JavaScript变量,但是我不知道如何处理可能出现的引号。
以下是我目前的情况:
var searchTerms = "<!--#echo var="terms"-->";
var pattern = / /g;
newSearchTerms = searchTerms.replace(/[^a-zA-Z 0-9]+/g,'');
var searchStr=newSearchTerms.replace(pattern,"_");
我担心“术语”应该包含双引号(或者如果我在JS中使用单引号),那么我的函数就会失败。
如何在字符串进入脚本之前将其转义?
谢谢,
史蒂夫
编辑/回答:最后,我将它移动到一个捕获并解析查询字符串的外部脚本中,而不是在HTML中回显它。
发布于 2008-12-18 19:36:11
从您的代码来看,您似乎在使用Apache包含的内容。echo
SSI有一个名为encoding
的属性,它允许您指定url样式的编码。您可以用这种方式对引号进行编码,只需使用unescape()
在Javascript中取消编码即可。
试试这个:
var terms = "<!--#echo encoding="url" var="terms"-->";
terms = unescape(terms)
https://stackoverflow.com/questions/378848
复制相似问题