#!/bin/sh

## <san2(at)linuxchannel.net>
## 2002.04.09
##
## replace HTML tag to upper(safe PHP code)

usage()
{
cat << __EOP__
replace HTML tag to upper(safe PHP code)
usage : $0 [OPTIONS] filename.html
OPTIONS :
  --back,--backup: backup to 'filename.html.bak'
  --bak,-bak     : backup to 'filename.html.bak'
  --help,-h      : this help message 
__EOP__
  exit 0
}

for args in $* ; do
  case "$args" in
    --back|--backup|--bak|-bak)
        backup=1
        ;;
    --help|-h|--*|-*)
        usage
        ;;
    *)
        files="$files $IFS $args"
        unshift=1
        ;;
  esac
  [ X"$unshift" = "X" ] && shift
done

file=$1

for f in $files ; do
  if [ -s "$f" ] ; then
    found=1
    [ X"$backup" = "X1" ] && (
        echo "$f backup to $f.bak"
        cp -af $f $f.bak
    )
    vi -e $f << __EOP__
    %s/<[a-zA-Z/\- ]*/\U&/g
    %s/<!doctype\([^>$]*\)>/\U&/g
    %s/<META\([^>$]*\)>/\U&/g
    %s/\([[:blank:]]*\)>/>/g
    %s/\([[:blank:]]*\)$//g
    %s/ *$//g
    %s/\t/       /g
    %s/       /\t/g
    w! $f
    q!
__EOP__
  elif [ -f "$f" ] ; then
    found=1
  else
    echo "not found $f" >&2
  fi
done

[ X"$found" = "X" ] && usage

exit 0