PHP를 사용해 본 친구들은 PHP에서 변수를 사용하는 것이 유연하고 편리하다는 것을 알고 있습니다. 특히 문자열의 변수 이름-값 변환이 쉽게 실현될 수 있어 전체 PHP 코드가 더욱 간결하고 아름다워집니다. 예를 들어, 데이터베이스를 업데이트하는 SQL 문은 다음과 같이 작성하면 됩니다.
프로그램 코드
"사용자 설정 비밀번호='$password', 그룹=$group, 이름='$username', 여기서 account='$account' 업데이트"
, $password, $group, $username, $account는 실제 변수 값으로 대체됩니다. ASP에서 동일한 기능을 수행하려면 다음과 같이 작성해야 합니다.
프로그램 코드
"사용자 설정 비밀번호='" & 비밀번호 & "',group=" & 그룹 & ",name='" & 사용자 이름 & "' where account='" & account & "'"
, 길고 추악한 것 같습니다. 이것이 삽입 언어이고 삽입된 필드가 많다면, 필드와 값 사이의 대응 관계를 확인하는 것은 고통스러운 과정이 될 것입니다.
이제 ASP에서 유사한 변수 이름-값 변환을 구현하는 방법을 살펴보겠습니다.
먼저, 실제 값으로 대체해야 하는 변수 이름을 일반 텍스트와 구별한 다음, 발견된 모든 변수 이름을 해당 값이 나타내는 실제 값으로 대체할 수 있는 방법이 있어야 한다는 것입니다
.
첫 번째 점은 정규 표현식을 통해 찾을 수 있습니다. 여기서는 PHP의 변수 표현을 사용하지 않고 변수 이름의 경계 문자로 큰 숫자 {}를 사용합니다. 문자열 표현은 다음과 같습니다. 그룹}.
두 번째 포인트는 변수 이름-값 변환의 핵심입니다. 변수 이름을 통해 변수 값을 얻습니다. ASP 정보를 보면 직접적인 구현 방법을 찾지 못했지만 우리의 관심을 끌었던 Execute 함수가 있습니다. 정보 설명을 통해 Execute가 들어오는 유효한 문자열을 이런 방식으로 실행할 수 있다는 것을 알고 있습니다. , 목표를 달성하려면 작은 함수만 작성하면 됩니다. 핵심 코드는 다음과 같습니다:
프로그램 코드
함수 GetVar(var_name)
Execute("function get_value(): get_value=" & var_name & ": 함수 종료")
getvar=get_value()
함수 종료
완전한 코드
구현
:프로그램
코드'설계자: Peng Guohui
'사이트: http://kacarton.yeah.net/
'블로그: http://blog.csdn.net/nhconch
'이메일: [email protected]
' 이 기사는 작성자에게 원본입니다. 재인쇄하기 전에 저에게 연락해 주세요. 기사의 출처를 표시하고 작성자의 정보를 보관해 주세요.
'================================================ = ================
함수 GetVar(var_name)
Execute("function get_value(): get_value=" & var_name & ": 함수 종료")
getvar=get_value()
끝 함수
function Txt2Value(str, level)
희미한 정규식, 일치, 결과
regEx 설정 = 새 RegExp
케이스 수준 선택
case 0 regEx.Pattern = "{([w()]+)}" '변수 이름이 유효합니다.
사례 1 regEx.Pattern = "{([w+-*/\<>=()]+)}" '변수 이름과 연산자가 유효합니다.
'case 2 regEx.Pattern = "{([ws()]+)}" '개행 문자를 제외한 모든 문자가 유효합니다.
그렇지 않으면 종료 기능
선택 종료
'regEx.Pattern = "{(w+)}"
regEx.IgnoreCase = true
regEx.Global = 참
일치 항목 설정 = regEx.Execute(str)
결과 = str
'response.write Matches.Count
경기의 각 경기에 대해
결과 = 바꾸기(결과, Match.Value, GetVar(Match.SubMatches(0)))
다음
일치 항목 설정 = 없음
regEx = 아무것도 설정하지 않음
Txt2Value = 결과
끝 함수
함수 Var2Value(var_name)
Var2Value = Txt2Value(var_name, 0)
종료 기능
호출 방법:
프로그램 코드
Var2Value("사용자 설정 비밀번호='{password}', group={group}, name='{username}' 여기서 계정='{account}'"
Var2Value는 Txt2Value를 호출하고 Txt2Value는 모든 변수 이름을 찾고 GetVar를 호출합니다. 실제로 Txt2Value(str,1)를 직접 호출하면 문자열 값에 대한 4가지 산술 연산도 허용됩니다.