PHP の str_replace() の技
こういうことが出来たらしい
$str = str_replace(array("\r", "\n", "\r\n"), "", $str);
2004-09-15-1: [Code]
急に必要になったから,作ってみた.
#include <windows.h>
#pragma comment(lib, "user32.lib")
#pragma comment(linker, "/opt:nowin98")
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
HGLOBAL hText;
int iLength = strlen(lpCmdLine);
char *pText;
if (iLength == 0) {
return 0;
}
hText = GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, iLength + 1);
if (hText) {
pText = GlobalLock(hText);
if (pText) {
OpenClipboard(NULL);
EmptyClipboard();
lstrcpy(pText, lpCmdLine);
GlobalUnlock(hText);
SetClipboardData(CF_TEXT, hText);
CloseClipboard();
}
}
GlobalFree(hText);
return 0;
}
2004-05-11-1: [Code]
http://blog.bulknews.net/cookbook/blosxom/rss/genfeed.html
非常に便利
このままだと title および description で日本語が通らなかったので,定義ファイルを
EUC-JP で書くとして,サブルーチン load_site を以下のように修正.
要は,euc-jp に変換してあげているだけ.
sub load_site {
my($dir, $file) = @_;
my $fh = FileHandle->new("$dir/$file") or die "$dir/$file: $!";
my %param;
while (<$fh>) {
chomp;
last if /^$/;
/^(\S+): (.*)$/ and $param{$1} = decode("euc-jp", $2);
}
$param{match} = [ split / /, $param{match} ];
$param{pattern} = decode("euc-jp", do { local $/; <$fh> });
$param{filename} = $file;
return \%param;
}
- 帝国データバンクの倒産情報を取得する場合の定義ファイル
title: 帝国データバンク倒産情報
link: http://www.tdb.co.jp/
crawl: http://www.tdb.co.jp/tosan/main.html
description: 帝国データバンク倒産情報
match: link title
<p><a href=(syosai/\d+?\.html)>(.*?)</a>
- やじうま Watch の場合
title: やじうま Watch
link: http://internet.watch.impress.co.jp/
crawl: http://internet.watch.impress.co.jp/static/yajiuma/
description: やじうま Watch
match: title
<P><B>■ (.*?)</B>
- hard で loxse な 日々 さんのところの場合.
title: hard で loxse な 日々
link: http://papalagi.org/diary/
description: hard で loxse な 日々
match: title
■(.*?)<br>
参考までに以下の方法もかなり使える.
- NDO::Weblog: Template::Extract + XML::RSS でRSS 生成
http://naoya.dyndns.org/~naoya/mt/archives/000833.html
2004-04-29-13: [JavaScript][Code]
http://allabout.co.jp/computer/hpcreate/closeup/CU20040118A/index2.htm
<a href="abc.htm" onClick="window.open('abc.htm','subwin','width=300,height=300'); return false;">サブウインドウ</a>
o リンク先がどこなのか,ステータスバーで分かる.
o ユーザが望めば,別ウインドウでも開ける.
o JavaScript が OFF でも,リンク先を閲覧できる.
これは使えるかも.
2004-03-05-2: [Code]
http://allabout.co.jp/career/html/closeup/CU20031102A/
<input type="radio" id="id1" name="name" value="1"><label for="id1">ラジオボタン</label>
<!-- templates.html -->
<html>
<body>
<h1>{$a}</h1>
{$b}
</body>
</html>
<?php
// テンプレート中の変数
$a = '見出し';
$b = '本文';
// テンプレートを読み込む
$html = implode('', file('templates.html'));
// eval (PHP コードとして評価) するための準備
$html = str_replace('"', '\"', $html); // " をエスケープ
// 文字列 ($html) を PHP コードとして評価し,変数 ($output) に代入
eval ("\$output = \"$html\";");
// 結果を出力
print $output;
?>
mysql_connect('localhost:/tmp/mysql.sock', 'userid', 'password');
両方とも実際には関数ではなく言語構造ということでは同じ.
echo は,1 つ以上の引数を取れる
print は,1 つしか引数を取れない
echo 'a', 'b', 'c'; // OK
print 'a', 'b', 'c'; // NG: PHP Parse error: parse error, unexpected ','...
補足トリビア
<?= 'a', 'b', 'c' ?>
これもいける
- echo - 1 つ以上の文字列を出力する
void echo ( string arg1 [, string argn...] )
http://www.php.net/echo
- print - 文字列を出力する
print ( string arg )
何故か,外部のサーバに接続しっぱなしだと接続を切られてしまうので.
Solaris 用
#!/bin/sh
# 接続を切られないように 30 秒おきに date を発行
date
while [ 1 ]
do
echo "\r`date` Type ^C to resume: \c"
sleep 30
done
2003-10-18-1: [Code]
(ISBN を引数として渡す)
ただし不完全.邦書は,これでほぼいけそう.洋書は第 2 引数に 01 (この数字以外にも) を指定する可能性.
ちなみに著作権上の問題はグレーかも.
sub isbn_image {
my ($k, $c) = @_;
if ($c eq '') {
$c = '09';
}
my $o = $k;
$k =~ s/[^0-9a-zA-Z]//g;
return qq(<img src="http://images-jp.amazon.com/images/P/$k.$c.MZZZZZZZ.jpg" />);
}