Saat saya memprogram modul unggah ZBlog hari ini, saya perlu menggunakan subrutin untuk mengekstrak nama file di artikel. Awalnya saya memperumit masalah dan mencocokkan semua nama file yang mungkin. tetapi juga Split di bawah. Setelah lama mengerjakannya, tiba-tiba saya menemukan bahwa semua file Z-Blog yang diunggah disimpan dalam unggahan, dan begitu banyak kecocokan rumit yang ditulis dengan sia-sia. . . Hei, tidak boleh disia-siakan. Lebih baik mempostingnya kalau-kalau ada saudara yang membutuhkannya di kemudian hari~~
Sub-proses berikut pada dasarnya dapat dianggap sebagai pencocokan universal yang relatif baik. (PS: Tiba-tiba saya mengetahui bahwa CODE_LITE telah lolos dari UBB saya!!! Pusing, saya harus melarikan diri sendiri...)
--------------------------------------------------- -----------------------------------
Redupkan objRegExp,Cocok,i,DC9_DOT_CN_MATCH
Redupkan aryMatch()
Redim Pertahankan aryMatch(0)
Setel objRegExp=RegExp Baru
objRegExp.IgnoreCase = Benar
objRegExp.Global=Benar
objRegExp.Pattern="(?:[[^]]+]([^[]+)[/[^]]+])|(?:(?:href|src) =([^s|^>]+)[""|>|s'])"
Setel Kecocokan = objRegExp.Execute("[img]2312.jpg[/img][img]2312.jpg[/img]hh[img][/img]<a href="" src="" Redupkan TmpMatch
Untuk i=0 hingga Cocok.Hitungan-1
Panggil InsertDataToArray(Matches(i).SubMatches(0),aryMatch)
Panggil InsertDataToArray(Matches(i).SubMatches(1),aryMatch)
Berikutnya
Untuk i=0 hingga Ubound(aryMatch)
Jika Bukan IsNull(aryMatch(i)) Dan Trim(aryMatch(i))<>"" Kemudian Response.tulis aryMatch(i)&"<br>"
Berikutnya
InsertDataToArray(Data,ByRef aryMatch)
Jika Memangkas(Data)<>"" Lalu
Data=Ganti(Data,"'","")
Data=Ganti(Data,"""","")
Data=Ganti(Data,"","/")
Data=Pisahkan(Data,"/")(Ubound(Pisahkan(Data,"/")))
Redim Pertahankan aryMatch(Ubound(aryMatch)+1)
DC9_DOT_CN_MATCH=Salah
Untuk j=0 hingga Ubound(aryMatch)
Jika aryMatch(j)=Data Maka DC9_DOT_CN_MATCH=Benar
Berikutnya
Jika Bukan DC9_DOT_CN_MATCH Maka aryMatch(Ubound(aryMatch))=Data
Akhiri Jika
Fungsi Akhir
------------------------------------------------ --------------------------------
Sebenarnya untuk Z-Blog hanya perlu mencocokkan Upload (tapi untuk menghemat masalah , I , dan agar lebih akurat, saya cukup menambahkan upload ke pencocokan di atas, jadi sepertinya yang berikut ini lebih rumit. Sebenarnya, yang berikut ini seharusnya lebih sederhana secara teori .) Tulis saja SPLit /.
--------------------------------------------------- -----------------------------------
Redupkan objRegExp,Cocok,i,ZC_UPLOAD_MATCH
Redupkan aryMatch()
Redim Pertahankan aryMatch(0)
Setel objRegExp=RegExp Baru
objRegExp.IgnoreCase = Benar
objRegExp.Global=Benar
objRegExp.Pattern="(?:[[^]]+][^[]*upload/([^[|^\|^/]+)[/[^ ]]+])|(?:(?:href|src)=""{0,1}[^s|^""|^>|^']*unggah/([^s| ^>]+)[""|>|s'])"
Setel Kecocokan = objRegExp.Execute("[img]2312.jpg[/img][img]2312.jpg[/img]hh[img][/img]<a href="" src="" Data=Ganti( Data,"""","")
Redim Pertahankan aryMatch(Ubound(aryMatch)+1)
ZC_UPLOAD_MATCH=Salah
Untuk j=0 hingga Ubound(aryMatch)
Jika aryMatch(j)=Data Maka ZC_UPLOAD_MATCH=Benar
Berikutnya
Jika Bukan ZC_UPLOAD_MATCH Maka aryMatch(Ubound(aryMatch))=Data
Akhiri Jika
Fungsi Akhir
Sumber: http://www.dc9.cn/post/279.html