Bash 从bash命令行缩短长URL

#! /usr/bin/env bash
#  ur1ca.sh
#  Shorten a long URL from bash command line,
#  using ur1.ca open source service.
#  ksaver (at identi.ca), Aug 2010.
#  Public Domain Code.
#  No warranty at all.
 
function _curl()
{
    /usr/bin/env curl -s -A 'Mozilla' "$@"
}
 
function html_txt()
{
    read string
    echo "$string" |sed -e 's/<[^>]*>//g'
}
 
function usage()
{
    prname=$(basename $0)
    echo -e "\tUsage:  $prname  <long-url>"
    echo -e "\tExamp:  $prname  http://www.google.com/search?q=bash+scripting"
}
 
function _main_()
{
    if [ -z "$1" ]
    then
        usage
        exit
    else
        UR1='http://ur1.ca/'
        LONG="$1"
 
        _curl -s "$UR1" -d"longurl=$LONG" |grep -i 'Your ur1 is' |html_txt
        echo
    fi
}
 
## Run script...
_main_ "$@"

JavaScript 使用javascript阻止页面离开

<script type="text/javascript">  window.onbeforeunload = function(e){ return 'En fermant cette page vous perdrez tout.'; } </script>

HTML 清除输入onclick / onfocus

<input type="text" name="field-name-here" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Email To Get Updates':this.value;" value="Enter Email To Get Updates" />

jQuery 输入掩码

(function($) {
$.fn.mask = function() {
                return $(this).each(function() {
                        var
                                $this = $(this),
                                text = $this.val();
 
                        //when focused ont the input
                        $this.focus(function(){
                                if($this.val() == text)
                                        $this.val("");
                        });
                        //looses focus
                        $this.blur(function() {
                                if($this.val() == "")
                                        $this.val(text);
                        });
                });
        }
})(jQuery);
 
$(document).ready(function() {
       $('#input').mask();
});

PHP codeigniter pagging

function get_data_eJIC_page($start=0, $per_page=0){
        //pagination
        $config['base_url'] = base_url().'index.php/digital/index';
        $config['total_rows'] = $this->db->get('konver')->num_rows();
        $config['per_page'] = $per_page;
        $config['full_tag_open'] = '<ul class="pagination">';
        $config['full_tag_close'] = '</ul>';
        $config['num_links'] = 10;
        $config['first_link'] = 'Awal';
        $config['last_link'] = 'Akhir';
        $config['first_tag_open'] = '<li>';
        $config['first_tag_close'] = '</li>';
        $config['last_tag_open'] = '<li>';
        $config['last_tag_close'] = '</li>';
        $config['next_tag_open'] = '<li>';
        $config['next_tag_close'] = '</li>';
        $config['prev_tag_open'] = '<li>';
        $config['prev_tag_close'] = '</li>';
        $config['num_tag_open'] = '<li>';
        $config['num_tag_close'] = '</li>';
        $this->pagination->initialize($config);
        //end

        if($per_page > 0){
            $this->db->from('konver');
            $this->db->limit($per_page, $start);
            $data = $this->db->get();
        }else{
            $data = $this->db->get('konver');
        }

        return $data;
    }

jQuery 垂直中心元素,动态高度

jQuery:

$(document).ready(function() {
	$("div.item").each(function() {
		var margin = $(this).height() / 2;
		$(this).css({ 'margin-top': -margin });
	});
});

CSS:

.item {
	width: 24%;
	float: left;
	position: absolute;
	top: 50%;
}
.number2 {
	margin-left: 25%;
}
.number3 {
	margin-left: 50%;
}
.number4 {
	margin-left: 75%;
}
.border {
	margin: 0 20px;
	border: 1px solid black;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}
.inner {
	padding: 0 20px;
}

HTML:

<div class="item">
	<div class="border">
		<div class="inner">
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
		</div>
	</div>
</div>
<div class="item number2">
	<div class="border">
		<div class="inner">
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
		</div>
	</div>
</div>
<div class="item number3">
	<div class="border">
		<div class="inner">
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
		</div>
	</div>
</div>
<div class="item number4">
	<div class="border">
		<div class="inner">
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
		</div>
	</div>
</div>

TYPO3 Typo3 Favicon

page.shortcutIcon = fileadmin/images/favicon.ico

CSS CSS图像替换

/* =HTML
-------------------------------------------------------------- */
<div class="haven">
<a href="#">
<img src="<?php bloginfo('template_directory'); ?>/images/haven_g.png" alt="" title="brookhaven_logo"/>
</a>
</div>

/* =CSS
-------------------------------------------------------------- */
div.haven {
height: 44px;
width: 278px;
margin:0;
padding:0;
background-image:url("images/haven.png");
}

div.haven a, div.nav a:link, div.nav a:visited {
display:block;
}

div.haven img {
width:100%;
height:100%;
border:0;
}

div.haven a:hover img {
visibility:hidden;
}

PHP Zend Framework - 验证器示例

$validators = array( 
             'address' => array('Alnum', new Zend_Validate_Alnum(true), 
                                'messages' => array( 
                                'Address not valid', // Default error message 
                                // Specific error messages 
                                array(Zend_Validate_Alnum::NOT_ALNUM => 
                                      'Address contains invalid characters', 
                                      Zend_Validate_Alnum::STRING_EMPTY => 
                                      'Address field is mandatory'))), 
             'phone'   => array('Digits', new Zend_Validate_Digits(), 
                                'messages' => array( 
                                'Wrong phone number format', 
                                array(Zend_Validate_Digits::NOT_DIGITS => 
                                      'Phone number can only have digits', 
                                      Zend_Validate_Digits::STRING_EMPTY => 
                                      'Phone number can not be empty'))), 
             'age'     => array('Digits', new Zend_Validate_Between(16, 59), 
                                'messages' => array( 
                                'You do not qualify because of your age', 
                                array(Zend_Validate_Between::NOT_BETWEEN => 
                                      'Age is not between the allowed range'))), 
             'id'      => array('StringLength', new Zend_Validate_StringLength(8, 10), 
                                'messages' => array( 
                                'ID not valid', 
                                array(Zend_Validate_StringLength::TOO_LONG => 
                                      'ID is too long', 
                                      Zend_Validate_StringLength::TOO_SHORT => 
                                      'ID is too short'))), 
             'date'    => array('Date', new Zend_Validate_Date(), 
                                'messages' => array( 
                                'Wrong date', 
                                array(Zend_Validate_Date::INVALID => 
                                      'Date not recognized as valid', 
                                      Zend_Validate_Date::FALSEFORMAT => 
                                      'Date format is incorrect', 
                                      Zend_Validate_Date::NOT_YYYY_MM_DD => 
                                     'Date format must be YYYY-MM-DD'))), 
              'url'      => $validurl 
           );

Bash 取消关注所有未关注您的Twitter用户

#! /usr/bin/env bash
#  unfollow_nofriends.sh
#  unfollow twitter users not following back to you.
#  ksaver (at identi.ca), Aug, 2010.
#  uses friendorfollow.com csv file at:
#  "http://friendorfollow.com/$USERNAME/results/?\
#  orderby=undefined&type=following&format=csv"
#  and twitter API at:
#  "http://api.twitter.com/1/friendships/destroy/$ID.xml"
#  Requieres: curl, egrep, in order to work properly.
#  This script has been written to help in some twitter account maintanance,
#  please do not use it for evil pourposes :-)
#  Public Domain Code.
#  Not warranty at all.

# Edit this two lines according to your correct twitter account:
USERNAME='username123'
PASSWORD='password321'

TWIT_AUTH="$USERNAME:$PASSWORD"
TWIT_API="http://api.twitter.com/1/friendships/destroy"
FOF_CSV="http://friendorfollow.com/$USERNAME/results/?orderby=undefined&type=following&format=csv"
ERR=0
OK=0

function _curl()
{
    /usr/bin/env curl -s -A 'Mozilla' "$@"
}

function get_nofriend_list()
{
    _curl "$FOF_CSV" |cut -d',' -f2 |egrep -e [0-9]
}

function unfollow_id()
{
    ID="$1"
    _curl -u "$TWIT_AUTH" -d '' "$TWIT_API/$ID.xml" \
    |grep '<error>' > /dev/null && return 1 || return 0
}

function error_msg()
{
    ID="$1"
    echo "Error unfollowing user with ID: $ID"
}

function __main__()
{
    ## Getting no-friend list in an Array...
    NOFRIENDS=( $(get_nofriend_list) )

    echo "Unfollowing ${#NOFRIENDS[@]} total users..."
    for id in ${NOFRIENDS[@]}
    do
        unfollow_id $id && let OK=$OK+1 || (error_msg $id && let ERR=$ERR+1)
    done

    echo "$OK total no-friend users unfollowed and $ERR errors."
}

## Run script if not called by source.
if [ "$0" != 'bash' ]
then
    __main__
fi