2015年10月20日火曜日

PHPの正規表現で文字列を抽出


ある法則で書かれた文章をphpを使って文字列を抽出する方法です。(備忘録)
デザイナーであるため良く忘れますw

置換にはpreg_replaceを使いますが、これでも抽出はできます。この方法はまた説明します。

ここではpreg_matchでターゲットとなる文字列を正規表現で抽出する方法です。

$string = '<img src="http://nonull.jp/img/001.png" />';
preg_match('/src="([^\"]+)"/u',$string, $match);
$var = $match[1];

画像のパスを取得したい場合の記述です。
$varにはhttp://nonull.jp/img/001.pngが代入されます。

また、ページ全体などある規則で記述されている内容を抽出したい時もあると思います。
そのようなときはpreg_match_all関数を使います。

$string = "<div>1</div><div>2</div>";
preg_match_all("/<div>(.*?)<\/div>/", $string, $matches);
foreach($matches[1] as $var) {
 echo $var;
}

この場合$varに12と代入されます。
通常<div>は単体で使われていません。
<div>が入れ子になっていたり、class属性が入っていたりもしますので
二行目の正規表現を少し変えたりする必要があります。
三行目の$matchesは$matches[0]と変えると
$varには<div>1</div><div>2</div>が代入されます。

要は[0]の場合は/~/のマッチした情報
[1]の場合は(~)のマッチした情報となります。

正規表現はわかっておくとperlやjavascriptなどにも使われていますので
理解しておくといいかもしれません。
デザイナーにとってはとっつき辛いですがねw

ホームページ制作 東京!null ホームページ制作 東京!null

2015年10月15日木曜日

Coreserverで.htaccessを使ってmod_rewriteを書く【解決】

coreserver コアサーバー


Coreserver(コアサーバー)はバリュードメインが運営しているレンタルサーバーです。 2014年にサーバー全体に大幅なバージョンアップがありました。
安く運用できるため、未だに使ってますが仕様が色々と特殊です。

mod_rewriteを使おうと思いかなり経ってしまい色々調べましたが、
Wordpressを使った場合という前提の内容が多く、どうもこちらの目的と違います。
Wordpress特化でなく、もっと汎用的に使いたいと思っていたからです。

通常のサーバーはウェブルート(public_htmlなど)に.htaccessというテキストファイルを作成し
そのファイルをアップロードすればいいのですが、なぜか、サーバーエラー 500が起こったり
動いているように見えて、not foundになったり試行錯誤。
ようやく解決しました!

要はサーバー仕様のせいですw

.htaccessは以下のように記載します。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
### Straight Search
RewriteRule (.*)$ /mt/mt-search.cgi?IncludeBlogs=1&search=$1 [QSA,L]


1~3行目は割愛します。沢山検索できます。
4行目の#はコメントアウトするときに記載します。
一番重要となる5行目のRewriteRuleのところですが、括弧内の文字列がURL内にあるとき、$1に置換しますという意味です。
movabletypeを使っている方はよく分かると思いますが、文字列検索の一文です。
上記の.htaccessを新しく作ったディレクトリにアップロードします。(超重要)

例えば、keywordsというディレクトリにアップロードしたときは
/keywords/webdesign  というURLが /mt/mt-search.cgi?IncludeBlogs=1&search=webdesign
になります。 

なぜ、こんな事で長い期間頓挫してしまってたんだろうと自己嫌悪ぎみw

ホームページ制作 東京!null ホームページ制作 東京!null

2015年9月19日土曜日

検索結果を爆速にする方法【MT3系】

boost search 爆速


今個人的に使用しているMT3(Movabletype3)の検索結果が異常に遅いのを
しばらく放置したまま時間が経ってしまいました。

現在エントリー数がかなり多くなってしまったサイトを運用中のため
多分、閲覧者が検索をする機会が多くなっており
検索結果が遅いために閲覧者を逃がしている可能性があるのではと思ったためです。
サイト離脱を極力抑えるために
検索結果テンプレートをいじることにしました。

変更方法は2つ考えられます。
①ページ送り(ページ分割)して1ページずつのロードを早くする
②キャッシュ機能を使い、検索結果の内容をあらかじめサーバーに保存させておく

結論は②でいくこととなりました。
①も試してみたのですが、ページ送りをしても、結局検索結果を全部読み込む事となり
待機時間が長くなってしまいます。
環境変数で処理もしてみて、早く読み込む事ができましたが
ページ送りが機能しなくなってしまいます。①の方法は八方塞がりです。

②のキャッシュ機能の方法は以下の通りです。

1.キャッシュ機能を実装するプラグインのインストール
SearchResultsCache プラグインをダウンロードます。(リンク先のページ下、MT(OS)4.1用)
そのファイルを解凍してMT/pluginsにインストールします。
上記リンク先のCpanモジュールを3つをmt/extlibにインストールします。
Cache は解凍してlib内にあるファイル・フォルダをmt/extlibにインストールします。
File::NFSLock も解凍してlib内にあるFileフォルダをフォルダごとmt/extlibにインストールします。
Date::Parse も同じく解凍してlib内のDate、Timeフォルダごとをmt/extlibにインストールします。
(上記3つのファイルはtar.gz圧縮ファイルです。tar.gz対応解凍ソフトを使って解凍してください。私は7-Zipを使用してます。 )

2.検索結果テンプレートの変更
テンプレートの文頭に、
<MTKeyCachedKey><$MTSearchString$></MTKeyCachedKey>

<MTKeyCachedValue>
検索結果テンプレート前項
</MTKeyCachedValue>
というように検索結果構文を挟むように記述します。
参考はこちらをご確認ください。

最初にキーワード検索を使った時は通常の検索時間が必要になりますが、
他者が同様のキーワードで検索した時はキャッシュ機能が働いているため
通常のページのような速さで読み込んでくれます。


ホームページ制作 東京!null ホームページ制作 東京!null

2015年9月17日木曜日

HTML版 twitter、facebook、google+ ボタン

いいね グッド like good

忘れやすいSNSボタン。これも備忘録。
headタグに何も入れなくていい書き方のため、比較的楽に記述ができます。
例としてtwitter、facebook、google+の記述方法を記載します。

Twitter いいね
自分のタイムラインに表示されます。

<a href="https://twitter.com/share" class="twitter-share-button" data-url="①" data-lang="②" data-related="anywhereTheJavascriptAPI" data-count="③">④</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
①URLをhttpから入力
②ja(日本語)、en(英語)
③ボタンの形 左から vertical、horizontal、none
④適切な文言を入力 (通常「ツイート」など)


Facebook いいね
自分のタイムラインには表示されず、右側のリアルタイムフィードに表示されます。
また友達の中で関連性が高い人にフィードされます(2015/09時点)
シェアボタンの場合は以下の方法では不可能です。

<iframe src="//www.facebook.com/plugins/like.php?href=①URL&amp;send=false&amp;layout=②&amp;width=③&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=④&amp;appId=⑤" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:③px; height:④px;" allowTransparency="true"></iframe>

①URLをhttpから入力 ※URLはURLエンコード
 エンコードはここなどを参照ください。
②ボタンの形 左から box_count、button_count、button
③横サイズを数字(半角)のみで入力
④縦サイズを数字(半角)のみで入力
⑤appidはfacebook developerから取得し、15桁の半角数字を入力



google+ ボタン
G+された内容は自分のタイムラインに表示されます。
<g:plusone href="①" size="②"></g:plusone>
①URLをhttpから入力
②ボタンの形 左から tall、standard、medium


※サイトやブログサービスの仕様により適切に表示されない可能性がありますが
レンタルサーバーでのウェブサイトでは、ほとんど表示されています。
●参考サイト
SNSボタンの設置とカスタマイズ方法


ホームページ制作 東京!null ホームページ制作 東京!null

2015年9月15日火曜日

ぽてぽてプードル(ぽてぷ)のLINEスタンプ


ぽてぽてプードル(ぽてぷ) Puppy Poodle LINEスタンプ sticker  ピンクの子犬

丁寧語ベースですので、先輩、上司、営業系、仕事のお客さん、姑舅さんなどにお使いください。

13スタンプがマルチリンガル対応になっています。
言語は、英語、フランス語、タイ語、インドネシア語、韓国語、中国語(北京・台湾)で、英語&日本語または日本語のみもあります。

http://ift.tt/1UR3C6e

ピンクのプードル(ぽてぷ) LINEスタンプ こんにちは ピンクのプードル(ぽてぷ) LINEスタンプ オッケーです ピンクのプードル(ぽてぷ) LINEスタンプ いいえ no ピンクのプードル(ぽてぷ) LINEスタンプ リョーカイです! 了解 ピンクのプードル(ぽてぷ) LINEスタンプ おはようございます ピンクのプードル(ぽてぷ) LINEスタンプ おなかすきました 空腹 ピンクのプードル(ぽてぷ) LINEスタンプ つかれました 脱力 ピンクのプードル(ぽてぷ) LINEスタンプ ねむいです ピンクのプードル(ぽてぷ) LINEスタンプ おやすみなさい 就寝 ピンクのプードル(ぽてぷ) LINEスタンプ だるいです 脱力 ピンクのプードル(ぽてぷ) LINEスタンプ ひまです 暇 ピンクのプードル(ぽてぷ) LINEスタンプ あついです 暑い ピンクのプードル(ぽてぷ) LINEスタンプ さむいです 寒い ピンクのプードル(ぽてぷ) LINEスタンプ 好きです LOVE ピンクのプードル(ぽてぷ) LINEスタンプ 国産です 日本産 ピンクのプードル(ぽてぷ) LINEスタンプ お久しぶりです ごぶさた 花畑 ピンクのプードル(ぽてぷ) LINEスタンプ 辛いですね 同情 涙 ピンクのプードル(ぽてぷ) LINEスタンプ 悲しいですね 同情 涙 ピンクのプードル(ぽてぷ) LINEスタンプ 納得です ピンクのプードル(ぽてぷ) LINEスタンプ がんばります 奮起 ピンクのプードル(ぽてぷ) LINEスタンプ ごめんなさい 謝罪 ピンクのプードル(ぽてぷ) LINEスタンプ 外出中です 散歩 ペンギン キャンディー ピンクのプードル(ぽてぷ) LINEスタンプ バケーション 休暇 休日 海 プール アイス ペンギン ピンクのプードル(ぽてぷ) LINEスタンプ 来て下さい 勧誘 ピンクのプードル(ぽてぷ) LINEスタンプ おねがいします 懇願 嘆願 ピンクのプードル(ぽてぷ) LINEスタンプ 参加します 同意 看板 花飾り ピンクのプードル(ぽてぷ) LINEスタンプ 承りました 予約 クッキー ピンクのプードル(ぽてぷ) LINEスタンプ 明日はお約束の日です 予約 めがね スケジュール ピンクのプードル(ぽてぷ) お送りしました 発送 配達 ポスト ピンクのプードル(ぽてぷ) LINEスタンプ 今から向かいます 行動 青空 ピンクのプードル(ぽてぷ) LINEスタンプ ありがとうございます 感謝 青空 虹 綿菓子 わたあめ ピンクのプードル(ぽてぷ) LINEスタンプ おつかれさまです 慰安 ほっとコーヒー ホット紅茶 ピンクのプードル(ぽてぷ) LINEスタンプ おしらせです 告知 通知 ピンクのプードル(ぽてぷ) LINEスタンプ パーティータイムです お菓子 スイーツ ドーナツ ケーキ チョコレート アイスクリーム ピンクのプードル(ぽてぷ) LINEスタンプ 応援してます 士気 奮起 紙ふぶき チア ピンクのプードル(ぽてぷ) LINEスタンプ おめかし中です 化粧 メイクアップ 鏡 ピンクのプードル(ぽてぷ) LINEスタンプ おめでとうございます 花  ピンクのプードル(ぽてぷ) LINEスタンプ メリークリスマス 記念日 Merry christmas ピンクのプードル(ぽてぷ) LINEスタンプ 謹賀新年 Happy new year あけましておめでとうございます 着物 門松 日の出 ピンクのプードル(ぽてぷ) LINEスタンプ ハッピーバースデー ハピバ Happy birthday 記念日 クラッカー

このスタンプ欲しい方は⇒ ⇒ http://ift.tt/1UR3C6e

このスタンプは2015年09月時点のものです。
via !null ノーヌル http://ift.tt/1KjiAqs

2015年9月4日金曜日

heart shaped diamond maternity tops

ハート型 ダイアモンド Tシャツ アウトライン

UTme!(ユニクロTシャツ)版は⇒  http://j.mp/diamond_utme
via nonull: Zazzle.com Store⇒ http://ift.tt/1i0mVc2

その他にUTme!で他のパターンも出品してみました。
複数のハート型アウトライン ダイヤモンド Tシャツ

一箇所だけ、ブリンクしています。小さくてよく見えませんがw
 ⇒ http://j.mp/many_diamond