指定した文字幅で文字列を切って「…」とかくっつけてくれる関数
長文コメントとかを途中でちょんぎって「…」とかつけて表示したいんだけどどーすんべ、ってときに。
mb_strimwidth(文字列, 開始位置, 最大文字幅, カットした後ろにくっつける文字, エンコード)
使い方はこんな感じで。
echo mb_strimwidth("あなたは、ごきげんよろしいほで、けっこです。あした、めんどなさいばんしますから、おいでんなさい。とびどぐもたないでくなさい。", 0, 50, "…", UTF8);
てすると、
あなたは、ごきげんよろしいほで、けっこです。あし…
- 文字幅は半角を1、全角を2と数えてます。
- 最大文字幅にはカットした後ろにくっつける文字の分(上記だと「…」の分)も含まれるので注意。
↓くわしいまにゅある。
http://jp2.php.net/mb_strimwidth
align="absmiddle"をcssで書く方法
いつも忘れるのでメモ。
align="absmiddle" は vertical-align:middle。
<p><img src="image.gif" style="vertical-align:middle;" alt="">hogehoge</p>
リスト内に画像を配置したときの余分なスペース(隙間)を消す方法
<ul>
<li><img src="foo.gif" alt="foo"></li>
<li><img src="var.gif" alt="var"></li>
</ul>
こんな風にHTMLを書くと、各画像の下に余分なスペースが入ってしまいます。
以下のようにCSSで画像の配置を指定してやると回避できる模様。
li img {
vertical-align: top;
}
PostgreSQLで複数行insert
8.2以降
insert into xx (a,b)
values ('111', '222'),
('333', '444'),
('555', '666')
;
8.1.4以前
insert into xx (a,b)
select '111', '222'
union
select '333', '444'
union
select '555', '666'
;
IFRAMEを含むページをSSLで参照する場合のメモ
【2007/09/23追記】
その後いろいろと作業していたところ、今回のSSL警告は結局私の見落としでhttpから始まる画像が指定されていたことが判明...。
ということは、以下で調べた「
──ここから本文──
今日はページを作成していてかなりハマってしまいました。
InternetExplorerを使ってSSL経由でページを参照すると、
このページにはセキュリティで保護されている項目と保護されていない項目が含まれています。
保護されていない項目を表示しますか?
というエラーが出るのです。
大抵は画像やjavascript、CSSなどの外部ファイルの指定をhttp:から始めてしまっている場合に出るのですが、今回はその辺の問題はクリアされている様子。
で。
しらみつぶしにページのパーツを切り崩して調査した結果、IFRAMEを外すと警告が出ないことが判明しました。
IFRAMEを外したままにしておくわけにもいかないので、対処方法を探していると、
FRAME/IFRAME を含むページを SSL により参照するとセキュリティ警告メッセージが発生する というページを発見。
FRAME、IFRAMEを使うときはsrc属性をつけろ、という内容のようです。
・・・でも・・・既にsrcはつけているよ・・・???
さらに探し続けていて、やっと見つけたのがこのページ。
Internet Explorer 6 以降では、 と
どうやら security="restricted" としてやるとよさそうです。
早速適用してみると・・・問題解決!
FRAMEの場合も同様のようなので、SSLで警告が出て困っている方はお試しあれ。
ネストした配列の全ての要素を順番にブロックに渡して評価するメソッド
mapだと、配列がネストしている(配列の中に配列がある)場合、うまく動いてくれないので、新たにメソッドを定義してみました。
class Array def map_ary() self.each_index do |i| if self[i].class == Array self[i].map_ary {|j| yield(j)} else self[i] = yield(self[i]) end end end end
実行するとこんな感じ。
p [1,2,[1,2,3,4,5,[1,2,3,4,[1,2,[1,2,3],[1,2,3],3,4,5],[1,2],4,5,6]],3].map_ary {|i| i + 1}
#=> [2,3,[2,3,4,5,6,[2,3,4,5,[2,3,[2,3,4],[2,3,4],4,5,6],[2,3],5,6,7]],4]
今日覚えたこと
- 再帰処理(メソッド定義内で同じメソッドが使える)
- メソッドの引数にブロックを渡す方法