Система Orphus

понедельник, 25 октября 2010 г.

Скрипт для подготовки кода к публикации в блоге

Я периодически публикую код на страницах своего блога, и не редко мне приходится править код, чтобы он правильно обработался движком блога... Обычно приходится заменять следующие символы в соответствующие им html коды:
  • & → &
  • < → &lt;
  • > → &gt;
  • " → &quot;
  • ' → &apos;
Раньше я это делал вручную... Но на днях мне это надоело, поэтому решил набросать маленький скриптек, который бы сэкономил мне время и нервы...

#!/bin/bash

CLIPBOARD=0

[ $# -eq 0 ] && echo "usage: `basename $0` [-c|--clipboard] -|file" 1>&2 && exit 1

[ "$1" = "-c" -o "$1" = "--clipboard" ] && CLIPBOARD=1 && shift
FILE=''
[ "$1" = "-" ] && FILE='-' && shift 
[ -e "$1" ] && FILE=$1 && shift 

_main() {
 sed -e "s/\&/\&amp\;/g;s/</\&lt\;/g;s/>/\&gt\;/g;s/\"/\&quot\;/g;s/'/\&apos\;/g" "$1"
}

if [ $CLIPBOARD -eq 0 ]; then
 _main "$FILE"
else
 _main "$FILE" | xsel -b -i
fi

Ключ -с (или --clipboard) не выводит результат на консоль, а копирует в буфер обмена.
Скрипт может считывать данные либо со стандартного вода ("-"), либо из файла.


UPD: Забыл упомянуть... Скрипт требует для своей работы xsel, в случае использования опции «-c».



Информация с сайта http://angel2s2.blogspot.com/.

Похожие статьи

8 коммент.:

Silver Ghost комментирует... среда, 27 октября 2010 г. в 19:36:00 GMT+3

Допиши, что требует xsel

Unknown комментирует... четверг, 28 октября 2010 г. в 11:40:00 GMT+3

Ага, добавил. Спасибо :)

evilzipik комментирует... вторник, 30 ноября 2010 г. в 23:32:00 GMT+2

неплохо такой плагин для worpdpress сделать =)

Unknown комментирует... среда, 1 декабря 2010 г. в 09:02:00 GMT+2

Это не плагин. Это скрипт.

syntax комментирует... воскресенье, 27 марта 2011 г. в 22:09:00 GMT+3

Как раз сегодня матерился на редактор кода вордпрессовский, за то что сожрал символы. Спасибо, теперь всё стало намного проще

Unknown комментирует... понедельник, 28 марта 2011 г. в 08:50:00 GMT+3

Да, вордпресс грешен этим :)
Пользуйтесь на здоровье ))

BeLove комментирует... четверг, 16 июня 2011 г. в 17:46:00 GMT+3

$phrase = "Please ' convert <> it!";
$symbols = array("&", "<" , ">", "\"", "'");
$html_symbols = array("&", "<", ">", """, "&apos;");

$newphrase = str_replace($symbols, $html_symbols, $phrase);
чуть короче)

Unknown комментирует... четверг, 16 июня 2011 г. в 17:53:00 GMT+3

Мне bash удобнее ;)

Отправить комментарий