2010-10-12 78 views
0

在我們使用下面的代碼來阻止URL鏈接通過文本框或textarea的傳遞形式提交(對於避免不良鏈接阻止垃圾郵件的鏈接在ASP

從聯繫表格傳遞)PHP如何。是有什麼梅索德像使用vb的經典asp一樣。

if($_POST['Register']) 
{ 
    $username=$_POST['username']; 
    if (preg_match('~(?:[a-z0-9+.-]+://)?(?:\w+\.)+\w{2,6}\S*~i', $username)) 
    { 
     die('Access Denied Avoid Link'); 

    } 
} 

我用下面的代碼在ASP,但顯示錯誤

<%@Language="VBScript%"> 
<% 
Option Explicit 

Dim Address 
Address = Request("Address") 

if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i",& Address&)) 
{ 
Echo"Access Denied Avoid Link."; 
Response.End 
'Exit(); 
} 
%> 

回答

0

你需要使用RegExp對象,一個簡單的例子是在VBScript

Dim re 
Set re = New RegExp 

re.Pattern = "^Hello.*" ' Replace with your regexp pattern 
re.IgnoreCase = True 

result = re.Test("Hello world") ' Returns boolean 
If result Then 
    ' Found! 
Else 
    ' Not found :-(
End If 
Set re = Nothing 

正則表達式語法可能與PHP有點不同,所以你可能需要稍微翻譯你的正則表達式。有關Microsoft RegExp類的更多詳細信息,請參閱http://msdn.microsoft.com/en-us/library/ms974570.aspx