Teman-teman yang pernah menggunakan PHP tahu bahwa penggunaan variabel dalam PHP itu fleksibel dan nyaman, terutama konversi nama-nilai variabel dalam string dapat dengan mudah direalisasikan, membuat keseluruhan kode PHP lebih ringkas dan indah. Misalnya pernyataan SQL untuk mengupdate database hanya perlu ditulis sebagai:
kode program
"perbarui pengguna yang menyetel kata sandi='$kata sandi', grup=$grup, nama='$nama pengguna' di mana akun='$akun'"
, $password, $group, $username, $account akan diganti dengan nilai variabel sebenarnya. Untuk mencapai fungsi yang sama di ASP, harus ditulis sebagai:
kode program
"perbarui pengguna setel kata sandi='" & kata sandi & "',grup=" & grup & ",nama='" & nama pengguna & "' di mana akun='" & akun & "'"
, tampak panjang dan jelek. Jika ini adalah bahasa penyisipan dan ada banyak bidang yang disisipkan, memeriksa korespondensi antara bidang dan nilai akan menjadi proses yang sulit.
Sekarang mari kita lihat bagaimana menerapkan transformasi nama-nilai variabel serupa di ASP.
Idenya
adalah pertama-tama harus ada cara untuk membedakan nama variabel yang perlu diganti dengan nilai sebenarnya dari teks biasa, kemudian mengganti semua nama variabel yang ditemukan dengan nilai sebenarnya yang diwakilinya.
Poin pertama dapat ditemukan melalui ekspresi reguler. Di sini kita tidak menggunakan representasi variabel PHP, tetapi menggunakan angka besar {} sebagai karakter batas dari nama variabel. Representasi string menjadi password='{password}',group ={ kelompok}.
Poin kedua adalah kunci konversi nama-nilai variabel. Nilai variabel diperoleh melalui nama variabel. Melihat informasi ASP, kami tidak menemukan metode implementasi langsung, tetapi ada fungsi Execute yang menarik perhatian kami. Dari uraian informasi tersebut, kami mengetahui bahwa Execute dapat mengeksekusi string valid yang masuk sebagai sinkronisasi eksekusi kode , kita hanya perlu menulis fungsi kecil untuk mencapai instruksi tujuan kita. Kode intinya adalah:
kode program
fungsi GetVar(var_name)
Jalankan("fungsi get_value(): get_value=" & var_name & ": fungsi akhir")
getvar=get_value()
fungsi akhir
Implementasikan
kode lengkap:
kodeprogram'DESIGN
BY: Peng Guohui
'SITUS: http://kacarton.yeah.net/
'BLOG: http://blog.csdn.net/nhconch
'EMAIL: [email protected]
'Artikel ini asli milik penulis. Silakan hubungi saya sebelum mencetak ulang. Harap tunjukkan sumber artikel dan simpan informasi penulis.
' ===== = ================
fungsi GetVar(var_name)
Jalankan("fungsi get_value(): get_value=" & var_name & ": fungsi akhir")
getvar=get_value()
fungsi akhir
fungsi Txt2Value(str, level)
redupkan regEx, Kecocokan, Hasil
Setel regEx = RegExp baru
pilih tingkat kasus
case 0 regEx.Pattern = "{([w()]+)}" 'Nama variabel valid
case 1 regEx.Pattern = "{([w+-*/\<>=()]+)}" 'Nama variabel dan operator valid
'case 2 regEx.Pattern = "{([ws()]+)}" 'Semua karakter kecuali karakter baris baru valid
fungsi keluar kasus lain
akhir pilih
'regEx.Pattern = "{(w+)}"
regEx.IgnoreCase = benar
regEx.Global = benar
Setel Kecocokan = regEx.Execute(str)
Hasil = str
'respons.tulis Kecocokan.Hitungan
Untuk Setiap Pertandingan Dalam Pertandingan
Hasil = Ganti(Hasil, Match.Value, GetVar(Match.SubMatches(0)))
Berikutnya
set Cocok = tidak ada
atur regEx = tidak ada
Txt2Value = Hasil
fungsi akhir
fungsi Var2Value(var_name)
Var2Value = Txt2Value(var_name, 0)
fungsi akhir
Metode panggilan:
kode program
Var2Value("perbarui pengguna set kata sandi='{kata sandi}', grup={grup}, nama='{nama pengguna}' di mana akun='{akun}'"
Var2Value memanggil Txt2Value, Txt2Value menemukan semua nama variabel dan memanggil GetVar Dapatkan nilai variabel dan menggantinya. Faktanya, memanggil Txt2Value(str,1) secara langsung juga memungkinkan empat operasi aritmatika pada nilai string.