2011-07-27 9 views
0

かなり堅牢なカスタムcmsを持つ古典的なASPサイトを継承しました。私たちは最近、サイトをホスティングマシンの1つに渡しました。最近、インクルードファイルに値のfrmo関数を取得する際にいくつかの問題が発生しています。入れ子にされたインクルードファイルがたくさんありますが、それらはすべて正しく含まれていると確信しています。空白を返す従来のASPクラス関数

パスの変更をテストしてエラーが表示されるため、インクルードが正しく機能していることが確かです。

<!--#include virtual="/admin/core/functions/fncGlobal.asp" --> 

Iから値を取得しようとしています機能は次のとおりです:

Function FormatURL(ByRef in_str) 
    Dim BadChars, RepChars, NewString, i 
    NewString = Trim(in_str) 
    NewString = StripNonAlphaNum(NewString) 
    NewString = Trim(NewString) 
    NewString = Replace(NewString, " ", "-") 
    NewString = Replace(NewString, "----", "-") 
    NewString = Replace(NewString, "---", "-") 
    NewString = Replace(NewString, "--", "-") 
    FormatURL = LCase(NewString) 
End Function 

英数字取り除くための機能:

Function StripNonAlphaNum(inString) 
    Dim oRE, strOutput, theString 
    If inString <> Null Then  
     inString = Replace(inString, "'", "") 
     inString = Replace(inString, "&amp;", "") 
     inString = Replace(inString, "&reg;", "") 
     inString = Replace(inString, "&trade;", "") 
     inString = Replace(inString, "&copy;", "") 
     inString = Replace(inString, "&quote;", "") 
     Set oRE = New Regexp 
     oRE.Global = True 
     oRE.IgnoreCase = True 
     oRE.Pattern = "[\W_]" 
     strOutput = oRE.Replace(inString, " ") 
     StripNonAlphaNum = strOutput 
    Else 
     StripNonAlphaNum = "" 
    End If 
End Function 
をここで

には、コードです

私はこの関数から文字列を返すテストをしましたが、同じ空白の結果が得られます。

は、私はこのような機能をテストしてい:

Response.Write("Test URL: " & FormatURL("Format URL Title Test")) 

私は

テストURLで取得結果:

は私が間違っているのは明白なものはありますか?私はASPであまり経験がありません。

答えて

1

はありません

問題がStripNonAlphaNum()にこのラインで正常に動作します:

If inString <> Null Then 

をテストするにはNull、代わりに使用する必要があります

If not IsNull(inString) then 

Here is a reference

1

おそらくラインは以下示した何か間違っん:

NewString = StripNonAlphaNum(NewString) 

あなたは何が起こるかを確認するには、この行をコメントアウトしようとしたことがありますか?

私はその行をコメントアウト持っており、それは、このコードには何も

Module Module1 

    Function FormatURL(ByRef in_str) 
     Dim BadChars, RepChars, NewString, i 
     NewString = Trim(in_str) 
     NewString = Trim(NewString) 
     NewString = Replace(NewString, " ", "-") 
     NewString = Replace(NewString, "----", "-") 
     NewString = Replace(NewString, "---", "-") 
     NewString = Replace(NewString, "--", "-") 
     FormatURL = LCase(NewString) 
    End Function 


    Sub Main() 
     Console.WriteLine(FormatURL("Format URL Title Test")) 
     Console.Read() 
    End Sub 

End Module 
+0

私はその行をコメントアウトして、同じ問題を解決しようとしました。私は、他の可能性を排除する機能だけを持つ別個のテストページを作成します。 – TGuimond