Skip to content

Instantly share code, notes, and snippets.

@kijtra
kijtra / sitemap_send.php
Created June 22, 2012 01:06
[PHP] サイトマップ(sitemap.xml等)を各検索エンジンに一括送信する関数
<?php
function sitemap_send($urls=NULL){
if(empty($urls)){
return NULL;
}
$pings=array(
'google'=>array(
'ping'=>'http://www.google.com/webmasters/sitemaps/ping?sitemap=',
'reg'=>'/successfully added/'
@kijtra
kijtra / age.sql
Created July 9, 2012 07:07
[MySQL] 年齢計算関数
DELIMITER //
DROP FUNCTION IF EXISTS `AGE`//
CREATE FUNCTION AGE( _DATE_ VARCHAR(20)) RETURNS INT(3)
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE ymd INT(10) UNSIGNED;
DECLARE age INT(3);
SET ymd=CASE
WHEN _DATE_ REGEXP '^[0-9]{10}$' THEN FROM_UNIXTIME(_DATE_,'%Y%m%d')
@kijtra
kijtra / convert_jpnum.sql
Created July 9, 2012 07:08
[MySQL] 数値を日本読み(◯万、◯億など)に変換
DELIMITER //
DROP FUNCTION IF EXISTS `CONVERT_JPNUM`//
CREATE FUNCTION `CONVERT_JPNUM`(`_amount` INT) RETURNS varchar(50) COMMENT '数値を日本の形式で返す'
BEGIN
DECLARE _oku INT UNSIGNED;
DECLARE _man INT UNSIGNED;
DECLARE _etc INT UNSIGNED;
DECLARE _res VARCHAR(50) DEFAULT '';
SET _oku=IF(_amount>=100000000,FLOOR(_amount/100000000),NULL);
@kijtra
kijtra / convert_json.sql
Created July 9, 2012 07:09
[MySQL] SELECT結果をJSON文字列等にしてPHPでjson_decodeする際に記号等を変換
DELIMITER //
DROP FUNCTION IF EXISTS `CONVERT_JSON`//
CREATE FUNCTION CONVERT_JSON(_HTML_ text) RETURNS text DETERMINISTIC
BEGIN
IF _HTML_ IS NULL OR _HTML_='' THEN
RETURN 'null';
ELSE
IF LOCATE('\\r',_HTML_)>0 OR LOCATE('\\n',_HTML_)>0 OR LOCATE('\\t',_HTML_)>0 THEN
SET _HTML_=REPLACE(_HTML_,'\\r','');
SET _HTML_=REPLACE(_HTML_,'\\n','\\\\n');
@kijtra
kijtra / pref.sql
Created July 9, 2012 07:10
[MySQL] 都道府県をコード⇔文字に相互変換
DELIMITER //
DROP FUNCTION IF EXISTS `PREF`//
CREATE FUNCTION PREF( _STR_ VARCHAR(20)) RETURNS VARCHAR(6)
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE res VARCHAR(6);
SET res=CASE
WHEN _STR_='1' THEN '北海道'
WHEN _STR_='2' THEN '青森県'
@kijtra
kijtra / strip_tags.sql
Created July 9, 2012 07:11
[MySQL] PHPでいうstrip_tags()関数
DELIMITER //
DROP FUNCTION IF EXISTS `STRIP_TAGS`//
CREATE FUNCTION STRIP_TAGS( x longtext) RETURNS longtext
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE sstart INT UNSIGNED;
DECLARE ends INT UNSIGNED;
IF x IS NOT NULL THEN
SET sstart = LOCATE('<', x, 1);
@kijtra
kijtra / youbi.sql
Created July 9, 2012 07:12
[MySQL] DATE文字列などから日本語で曜日を取得
DELIMITER //
DROP FUNCTION IF EXISTS `YOUBI`//
CREATE FUNCTION YOUBI( _DATE_ VARCHAR(20)) RETURNS CHAR(1)
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE w TINYINT(1) UNSIGNED;
DECLARE you CHAR(1);
SET w=CASE
WHEN _DATE_ REGEXP '^[0-9]{10}$' THEN FROM_UNIXTIME(_DATE_,'%w')
@kijtra
kijtra / strip_breaks.sql
Created July 31, 2012 02:17
[MySQL] 文字列の改行(と改行タグ)を削除。
DELIMITER //
DROP FUNCTION IF EXISTS `STRIP_BREAKS`//
CREATE FUNCTION `STRIP_BREAKS`(`_str` TEXT) RETURNS TEXT COMMENT '改行の削除'
BEGIN
RETURN REPLACE(REPLACE(REPLACE(REPLACE(_str,CHAR(13),''),CHAR(10),''),'<br>',''),'<br />','');
END
//
@kijtra
kijtra / trimwidth.sql
Created July 31, 2012 02:18
[MySQL] PHPの「mb_strimwidth()」の代替関数。
DELIMITER //
DROP FUNCTION IF EXISTS `TRIMWIDTH`//
CREATE FUNCTION `TRIMWIDTH`(`_str` TEXT,`_start` INT,`_width` INT,`_marker` VARCHAR(255)) RETURNS TEXT COMMENT '文字列の切り詰め'
BEGIN
DECLARE _len INT UNSIGNED;
DECLARE _res TEXT;
SET _len=CHAR_LENGTH(`_str`);
IF _len>_width THEN
if (typeof RedactorPlugins === 'undefined') var RedactorPlugins = {};
RedactorPlugins.fontsize = {
init: function(){
var doc = document;
if ( !doc.getElementById( 'redactor-fontsize-style' ) ) {
var head = doc.getElementsByTagName( 'head' )[0];
var imgsrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAASCAMAAACZ8IWSAAAAA3NCSVQICAjb4U/gAAAAgVBMVEX///////9VVVX///96enpVVVVVVVVVVVX///9VVVX////Hx8erq6tVVVXo6OhVVVVVVVX////e3t5aWlpVVVX////e3t5VVVX////U1NRVVVV6enpaWlpVVVWrq6uVlZVubm5aWlpVVVVycnJubm5mZmZaWlpVVVWrq6tmZmZVVVU4bmHEAAAAK3RSTlMAEREiIiIzRFVVZmZmZnd3iJmZmZmqqqq7u7vMzMzd3d3d3e7u7u7u////6dkbcAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAACGSURBVBiVrc7JFoIwDAXQIA5YpyKiQalgHSjv/z+QwrKpx41vkUVuk5ToD0Gsac0oLGEFnDFGyOmDe8JgFlP2hlcW27bWlV9HJOWyVQ80ibw/69raoFdSdgXnR6CSct345zWaNISlyf0JjX4fwKHDc0HaAu95QBmzH1Ilcxn53s84577SVAdK6gqHkfp1SQAAAABJRU5ErkJggg==';