Cari Blog Ini

Jumat, 25 Maret 2011

Dasar PHP

File template diambil dan Anda akan melihatnya di layar. default file template HTML akan muncul dengan teks berikut ini (atau yang serupa):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY BGCOLOR="#FFFFFF">
^!
</BODY>
</HTML>

^ Perhatikan ini! antara kedua tag BODY. Ini adalah kode khusus yang menyebabkan kursor berada dalam posisi yang tepat ketika pengguna membuka dokumen baru dengan menggunakan template. Anda akan melihat bahwa ketika Anda membuka sebuah merek baru HTML kursor dokumen yang benar yang mana ^! sekarang muncul.
Simpan file template dengan mengklik tombol simpan pada toolbar utama, atau dengan memilih Save dari menu File.
Sekarang, ketika Anda membuat dokumen HTML baru, maka secara otomatis akan berisi nama Anda pada tag META Penulis.
Setelah disesuaikan default template bagus, tapi Anda mungkin menemukan bahwa Anda ingin memiliki standar HTML template untuk berbagai jenis dokumen HTML. Misalnya, jika Anda memiliki situs web dengan banyak halaman, Anda mungkin ingin default template khusus khusus untuk halaman web baru untuk situs tersebut. Anda dapat menambahkan sendiri template sangat mudah.
Contoh: Joe orang bodoh, extroardinaire tukang kayu, sedang mengembangkan website sendiri untuk perusahaan, Joe's Hardware. Untuk membuat hidupnya lebih mudah, Joe membangun sendiri template sehingga ketika dia menciptakan halaman baru untuk situs, ia dapat memiliki banyak pengaturan standar sudah kode untuk dia! Nya file template, JOE.HTML, muncul di bawah ini:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Joe's Hardware - [page title]</TITLE>
<META NAME="Author" CONTENT="Joe Schmoe">
<META NAME="Rating" CONTENT="General">
<META NAME="Keywords" CONTENT="wood, nails, hardware, paint">
<META NAME="Description" CONTENT="">
<LINK REL="stylesheet" TITLE="mainstyle" HREF="mainstyles.css">
<BASEFONT SIZE="2">
</HEAD>

<BODY BACKGROUND="images/joesbg.jpg">
^!
</BODY>
</HTML>
















 

 

 

Menulis teks filter

Ini merupakan garis besar bagaimana menulis teks Anda sendiri alat penyaring pengguna.

Mengapa?

Aku bekerja mengetahui bagaimana melakukan ini karena saya ingin menyaring pesan kesalahan dari file skrip SQL output besar, tetapi Anda dapat menggunakan teknik ini untuk memanipulasi file dengan cara apapun. Bayangkan jika mencari dan mengganti memiliki kekuatan bahkan lebih dari kalimat biasa. Batas-batas hanya kemampuan pemrograman Anda dan imajinasi.

Bagaimana?

Anda membuat pengguna untuk menjalankan alat penyaring - pilih "Jalankan sebagai filter teks" pilihan. Anda tidak harus menggunakan salah satu argumen khusus seperti $ (Filename) karena filter teks selalu dijalankan pada isi jendela EditPlus saat ini. Perintah dan pengaturan argumen akan bervariasi sesuai dengan cara filter Anda harus dipanggil. Tentu saja, Anda juga harus menulis filter. contoh saya di bawah ini adalah Jawa, tetapi bahasa apapun yang dapat membaca standar input stream dan menulis ke output stream standar baik-baik saja. Jika Anda akrab dengan ide untuk menulis sebuah utilitas yang berjalan dalam pipa baris perintah, ini sangat mirip. Pendekatan umum adalah bahwa Anda makan isi file saat ini yang Anda baca. Kode Anda memutuskan apa yang harus dilakukan dengan masukan ini. Hal ini dapat output beberapa atau semua masukan, menambah atau mengganti bagian, menghasilkan sesuatu yang sama sekali baru. Sementara itu, Anda juga dapat melakukan hal lain Anda suka dengan teks, seperti e-mail juicy bit untuk nenek Anda.

Bagaimana kalau itu beres?

Sama seperti menggunakan pencarian dan mengganti, jika Anda tidak menyukai apa saringan dilakukan untuk teks Anda, Anda dapat membatalkan.

Contoh 1: Jawa

Ini kode Java menghapus dari pesan output skrip SQL yang mengindikasikan bahwa hal-hal telah bekerja dengan benar, hanya meninggalkan pesan kesalahan.

import java.io.*;
import java.util.HashSet;
public class SPOutStripper
{
   static HashSet strippers = new HashSet ();
   static
   {
      strippers.add ( ""                  ); // a blank line
      strippers.add ( "Table dropped."    );
      strippers.add ( "Table created."    );
      strippers.add ( "1 row created."    );
      strippers.add ( "Commit complete."  );
      strippers.add ( "Table altered."    );
      strippers.add ( "1 row updated."    );
      // ...and many others
   }
   public static void main ( String [] args )
         throws Exception // Lazy programmer hopes IOException won't bite him
   {
      BufferedReader in    = new BufferedReader ( new InputStreamReader ( System.in ) );
      PrintWriter    out   = new PrintWriter ( new BufferedWriter ( new OutputStreamWriter ( System.out ) ) );
      String         line;
      // Loop through lines of input
      while ( null != ( line = in.readLine () ) )
      {
         // Check whether line should be stripped out
         if ( ! strippers.contains ( line ) )
         {
            // If it shouldn't, send it back out again
            out.println ( line );
         }
      }
      out.flush (); // Important!
      // Finished - tidy up
      out.close ();
      in.close ();
   }
}

Contoh 2: Perl

Perl kode untuk menghapus terkemuka dan trailing spasi (spasi dan tab)
#!/usr/bin/perl
use warnings;
use strict;
while (my $text = <STDIN>) {
               chomp $text;
               $text =~ s/^[ \t]+|[ \t]+$//g;
               print "$text\n";
}

Contoh 3: Javascript atau VBScript

Contoh ini menggunakan Javascript. Ia bekerja pada dasarnya sama dalam VBScript. Jalankan sebagai: cscript / / NoLogo "path c: \ ke alat \ tool.js"
var stdin   = WScript.StdIn;
var stdout  = WScript.StdOut;
var input = stdin.ReadAll();
/*
Here you do something with the input.
But since this is a demo, we're just going to write it back out.
*/
stdout.Write(input);

Example 4: Python

This example attempts to tidy XML. It can be run as an EditPlus text filter tool, or from the command line.
import os,sys,re
 
def openAnything(source):
               """Cribbed form diveintopython.org """
               if source == "-":
                               return sys.stdin
 
               # try to open with urllib (if source is http, ftp, or file URL)
               import urllib
               try:
                               return urllib.urlopen(source)
               except (IOError, OSError):
                               pass
 
               # try to open with native open function (if source is pathname)
               try:
                               return open(source, 'r')
               except (IOError, OSError):
                               pass
 
               # treat source as string
               import StringIO
               return StringIO.StringIO(str(source))
 
def prettyUp ( xml ):
               """ Based on http://www.faqts.com/knowledge_base/view.phtml/aid/4334/fid/538 """
               parts = re.split ( '(<.*?>)', xml )
               level = 0
               wasText = False
               out = ""
               for part in parts:
                               # ignore empty part
                               if part.strip ( ) == '':
                                              continue
                               # opening tags
                               if part [ 0 ] == '<' and part [ 1 ] != '/' and part [ 1 ] != '?' and part [ 1 ] != '!':
                                              print
                                              sys.stdout.write ( '\t' * ( level ) + part )
                                              # short-cut empty tag
                                              if part [ -2 : ] != '/>':
                                                             level += 1
                                              wasText = False
                               # closing tags
                               elif part [ : 2 ]  == '</':
                                              level -= 1
                                              if not wasText:
                                                             print
                                                             sys.stdout.write ( '\t' * ( level ) )
                                              sys.stdout.write ( part )
                                              wasText = False
                               # text
                               else:
                                              sys.stdout.write ( part )
                                              wasText = True
 
if len ( sys.argv ) == 1:
               xml = openAnything ( "-" ).read ()
elif len ( sys.argv ) == 2:
               xml = openAnything ( sys.argv [ 1 ] ).read ()
else:
               xml = None
               sys.stderr.write ( "Wrong number of arguments.\n" )
 
if None != xml:
               prettyUp ( xml )

Example 5: Python again

This is surprisingly useful. It lines up text into columns by inserting spaces, for example from:
9 whatever
999 whatever
99 whatever
9999 whatever
to:
9    whatever
999  whatever
99   whatever
9999 whatever
Note: This code has some quirks - but you can hit Undo if you don't like the result.
You'll need to use "Prompt for arguments" ("$(Prompt)")after the script name to get a dialog where you can specify the whatever to be lined up. For a regular expression match, start with / (so /c.t will line up cat, cot, etc.)
import os,sys,re
 
def openAnything ( source ):
   """Cribbed form diveintopython.org """
   if source == "-":
      return sys.stdin
 
   # try to open with urllib (if source is http, ftp, or file URL)
   import urllib
   try:
      return urllib.urlopen ( source )
   except ( IOError, OSError ):
      pass
 
   # try to open with native open function (if source is pathname)
   try:
      return open ( source, 'r' )
   except ( IOError, OSError ):
      pass
 
   # treat source as string
   import StringIO
   return StringIO.StringIO ( str ( source ) )
 
def findMarker ( line, marker ):
   if "/" == marker [ : 1 ]:
      match = re.search ( marker [ 1 : ], line )
      if None == match:
         return -1
      return match.start ()
   return line.find ( marker )
 
def lineUp ( text, marker ):
   lines = re.split ( '\n', text )
   maxStartLen = max ( findMarker ( line, marker ) for line in lines )
   for line in lines:
      if 0 < len ( line ):
         pos = findMarker ( line, marker )
         start = line [ : pos ]
         end = line [ pos : ]
         print start + ( ' ' * ( maxStartLen - len ( start ) ) ) + end
 
if len ( sys.argv ) == 2:
   text = openAnything ( "-" ).read ()
   marker = sys.argv [ 1 ]
elif len ( sys.argv ) == 3:
   text = openAnything ( sys.argv [ 1 ] ).read ()
   marker = sys.argv [ 2 ]
else:
   text = None
   sys.stderr.write ( "Wrong number of arguments.\n" )
 
if None != text:
   lineUp ( text, marker )

Tidak ada komentar:

Posting Komentar