#!/bin/bash

do_sanitize () {
    # a tag follows the same rules as a DNS domain name in terms of what's permitted to be in it
    tr -cs 'a-zA-Z0-9.-' '[-*]' \
    | sed -e 's|^[.-]*||' \
          -e 's|[.-]*$||' \
    | cut -c 1-63
}

if [[ $* ]]
then
    # we have arguments; sanitize them
    do_sanitize <<<$*
else
    # we don't; sanitize stdin
    do_sanitize
fi
