|
2007年02月17日
2006年12月23日
WEB上でPHPの正規表現による文字列取得
ここから実行
※ テキストエリアに改行無しでURLを記述すると、そこから文字列を取得
<? require_once( "./mwin.php" ); mb_language( "ja" ); mb_internal_encoding("EUC-JP"); foreach( $_POST as $Key => $Value ) { $_POST[$Key] = str_replace("\\\\", "\\", $Value ); $_POST[$Key] = str_replace("\\'", "'", $_POST[$Key] ); $_POST[$Key] = str_replace("\\\"", "\"", $_POST[$Key] ); } $_GET = $_POST; ?> <HTML> <HEAD> <META http-equiv="Content-type" content="text/html; charset=euc-jp"> <TITLE>PHP 雛形</TITLE> <LINK rel="stylesheet" type="text/css" href="style.css"> <STYLE type="text/css"> </STYLE> </HEAD> <BODY id="body" style='background-color:white'> <? if ( trim( $_GET['text'] ) == '' ) { print "対象データを入力して下さい"; exit(); } if ( trim( $_GET['pattern'] ) == '' ) { print "パターンを入力して下さい"; exit(); } if ( substr( $_GET['text'], 0, 4 ) == 'http' ) { $ret = @file_get_contents( $_GET['text'] ); if ( $ret !== FALSE ) { $enc = mb_detect_encoding($ret, "SJIS,UTF-8,EUC-JP"); if ( $enc == 'SJIS' || $enc == 'UTF-8' ) { $ret = mb_convert_encoding ( $ret, "EUC-JP", $enc ); } $_GET['text'] = $ret; } } mb_ereg_search_init( $_GET['text'], $_GET['pattern'], "i" ); while( TRUE === mb_ereg_search() ) { $work = mb_ereg_search_getregs(); $ncnt = 0; foreach( $work as $Key => $Value ) { $Value = mb_ereg_replace( "&", "&", $Value ); $Value = mb_ereg_replace( "<", "<", $Value ); $matches[$ncnt][] = mb_ereg_replace( ">", ">", $Value ); $ncnt++; } } print "<pre>"; print "<span style='color:blue'>[0] は、マッチした全体の文字列を指す</span>\n"; print "<span style='color:blue'>それ以外は () によってマッチした部分文字列</span>\n"; print_r($matches); print "</pre>"; ?> </BODY> </HTML>
2006年12月22日
XMLファイルの書き換え(PHP5:DOMFunctions)
より、オブジェクト処理として完成されてますね
<? mb_language( "ja" ); mb_internal_encoding("UTF-8"); # DOM Object 作成 $dom = DOMDocument::load("index.xml"); # 既存のノード( channel ) を取得 $nodeList = $dom->getElementsByTagName("channel"); # 新規ノードを作成( createElement でも良い ) $node = $dom->createElement("item"); # ********************************************************** # title ノードを作成 # ********************************************************** $nodeChild = $dom->createElement("title"); # テキストノードを作成して title ノードに追加 $utf8 = mb_convert_encoding ( "これは", "UTF-8", "SJIS" ); $nodeChild->appendChild( $dom->createTextNode( $utf8 ) ); # item ノードに titile ノードを追加 $node->appendChild( $nodeChild ); # ********************************************************** # link ノードを作成 # テキストノード同時作成の createElement を使用 # ********************************************************** $utf8 = mb_convert_encoding ( "UTF-8 ですが", "UTF-8", "SJIS" ); # テキストノード同時作成する link ノードの作成 $nodeChild = $dom->createElement("link", $utf8 ); $node->appendChild( $nodeChild ); # ********************************************************** # description ノードを作成 # ********************************************************** $utf8 = mb_convert_encoding ( "SHIFT_JISを", "UTF-8", "SJIS" ); $nodeChild = $dom->createElement("description", $utf8 ); $node->appendChild( $nodeChild ); # ********************************************************** # dc:subject ノードを作成 # ********************************************************** $utf8 = mb_convert_encoding ( "自力で", "UTF-8", "SJIS" ); $nodeChild = $dom->createElement("dc:subject", $utf8 ); $node->appendChild( $nodeChild ); # ********************************************************** # dc:date ノードを作成 # ********************************************************** $utf8 = mb_convert_encoding ( "変換しています", "UTF-8", "SJIS" ); $nodeChild = $dom->createElement("dc:date", $utf8 ); $node->appendChild( $nodeChild ); # channel ノードは、一つしか無いので、nodeList(0) で参照 # channel ノードの下に item ノードを追加 $targetNode = $nodeList->item( 0 ); $targetNode->appendChild( $node ); # 保存 $dom->save( "data.xml" ); #<channel> # <item> # <title>aaaaa</title> # <link>bbbbb</link> # <description>ccccc</description> # <dc:subject>ddddd</dc:subject> # <dc:date>eeeee</dc:date> # </item> # <---- ここに追加 #</channel> ?> Done
2006年12月02日
リコンパイルPHPマニュアル
現在は文字化けしなくなっています。 PHP の chm マニュアルが文字化けしなくなっています(現在2014/4/11ビルド)が、トップページは出ません▼▼▼▼ 古い記事です ↓リコンパイルしたものオリジナル chm ↓は、日本語が化けてるので http://www.php.net/download-docs.php 自分でしたい場合は、オリジナルをまず、ダウンロード後、cmd.exe からダウンロードファイルをカレントにしてhh -decompile . php_manual_ja.chm を実行して下さい( php_manual_ja.hhc と php_manual_ja.hhk が作成されます ) Microsoft HTML Help Downloadsより、HTML Help Workshop をダウンロードしてインストール( Htmlhelp.exe で、コンパイラと英文マニュアル、Htmlhelpj.exe で日本語マニュアルのみ ) php_manual_ja.hhc と php_manual_ja.hhk より php.hhp ( プロジェクト )を作成し、いろいろオプションを付けてコンパイル。 とりあえず、php.hhp をリネームして内容を変更してオリジナルの chm を作ってみると良いでしょう。 ( プロジェクトバーの FD アイコンで保存して、ファイルメニューから Compile )
![]()
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります
<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します![]()
|