Category Archives: PHP

PHP Simple HTML DOM Parserでタイトルタグ内の文字列を取得する:PHP

ライブラリをインクルードしてたった数行で、WEBスクレイピング(HTML内を部分的に取り出し、表示する)ができる恐ろしいPHPライブラリを見つけました。 ライブラリは上記よりダウンロードできます。 <?php include_once($_SERVER['DOCUMENT_ROOT']."/lib/simplehtmldom/simple_html_dom.php"); $html = file_get_html(‘http://hoshiya.biz’); foreach($html->find(‘title’) as $row) $row = $row->plaintext; $row = mb_convert_encoding($row, mb_internal_encoding(), “auto” ); echo $row; ?> たったこれだけで取得できます。 find()で取り出したい条件や要素を記入するだけです。 恐ろしく簡単で便利なのはタグはもちろん、idやclassも指定できるし、そのタグ自体を抽出することもできます。 検索結果の一覧や、リンク集なども楽に抽出ができそうな感じです。 その他の使い方などは「PHP Simple HTML DOM Parserマニュアルページ」を参照してみてください。 参考サイト 関連記事 htmlSQLを使ってタイトルタグ内の文字列を取得する:PHP ページタイトル(titleタグ内の文字列)を取得する:PHP,Javascript

Posted in PHP, PHP Simple HTML DOM Parser, WEB | Tagged | Leave a comment

htmlSQLを使ってタイトルタグ内の文字列を取得する:PHP

指定したURLのHTMLソースから目的のタグ内の文字列をSQL文で取り出すことができるライブラリを見つけました。 今までは正規表現を使って文字列を取得していましたが、このライブラリならタグはもちろん、idやclassまで検索対象にできるスグレモノで、SQLの文法と配列が理解できれば、いろいろなことに使えそうです。 このように「HTML内を部分的に取り出し、表示する」ことを「Webスクレイピング」というそうです。 使用準備 ライブラリをダウンロードして任意のディレクトにアップロード。 利用するファイルに「snoopy.class.php」と「htmlsql.class.php」をインクルード。 使用例 <?php include_once($_SERVER['DOCUMENT_ROOT']."/lib/snoopy.class.php"); include_once($_SERVER['DOCUMENT_ROOT']."/lib/htmlsql.class.php"); function getTitle($url){ $wsql = new htmlsql(); // connect to a URL if (!$wsql->connect(‘url’, $url )){ print ‘Error while connecting: ‘ . $wsql->error; exit; } // execute a query: if (!$wsql->query(‘SELECT … Continue reading

Posted in htmlSQL, PHP, WEB | Tagged | Leave a comment

ロリポップ:急にPHPのインクルードがエラーで使えない!(解決)

タイトルの通りですが、今まで使用できていたPHPのインクルードが急に使えなくなりました。 PHPのバージョンを5.2から5.3に変更したからかもしれませんが、以下のエラーが出ます。 Warning: include_once() [function.include-once]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in/home/users/2/lolipop.jp-dp********/web/tracking/index.php on line 182   結論からいうと、インクルードするファイルのパスをドキュメントルートで指定すれば解決です。 <?php include_once "/home/users/2/lolipop.jp-dp********/web/include.inc"; //または include_once $_SERVER['DOCUMENT_ROOT']."/include.inc"; ?> include,include_once,require,require_onceも同様です。   今までは、 ホストディレクトリを指定していたため、今回エラーになりました。 <?php include_once "http://hoshiya.biz/include.inc"; //または include_once "http://".$_SERVER['HTTP_HOST']."/include.inc"; ?>   これに気づくのにしこたま時間がかかりました…。 解決できてよかったです。 … Continue reading

Posted in PHP, レンタルサーバー, ロリポップ | Tagged | Leave a comment

ページタイトル(titleタグ内の文字列)を取得する:PHP,Javascript

以前に「 Warning: Missing argument 2 for getTitleLink(), called in /home/sites/heteml/users158/m/h/0/mh0723/web/hoshiya.biz/wp/wp-content/plugins/grimp-php/grimp-php.php(75) : eval()’d code on line 1 and defined in /home/sites/heteml/users158/m/h/0/mh0723/web/hoshiya.biz/include/function/function.php on line 104 PHPのファンクションでMozshotを楽に使う|星屋工作室 hoshiya.biz 」の一部で タイトルタグ<title></title>の間の文字列を取得するスクリプトを紹介しましたが、もっと短くできました。   <?php function getTitle( $url ) { $byte = 256; while(empty($matches)){ //無限ループにならないようにバイト数を制限 if($byte … Continue reading

Posted in Javascript, PHP | Tagged | Leave a comment

PHP:ドメイン検索用に3文字を組み合わせた文字列を作成する。

3文字のドメインが欲しい…。 でも、0~9、a~zと-(ハイフン)の組合せをいろいろ想像してみたけど、 検索してみると取得済み…。 他に思いあらる3文字ってどんだけあるの? ということで、 <?php // 配列作成 $chars = array_merge(range(0,9),range(‘a’,'z’),array(‘-’)) ; $x = 0; for($i = 0; $i < count($chars); ++$i) { $a = $chars[$i]; for($j = 0; $j < count($chars); ++$j) { $b = $chars[$j]; for($k = 0; … Continue reading

Posted in PHP | Tagged | Leave a comment

PHP:10進数を64進数にエンコード・デコードする。

サンプル見つけたのメモ。     すばらしい(涙) ちょっといじくったけど、以下がその結果。 10進数:1234567890 10進数を64進数に変換:19bWBI 64進数を10進数にデコード:1234567890 64進数”Hoshiya”を10進数にデコード:1.22283562167E+12

Posted in PHP | Tagged | Leave a comment

PHP:10進数を36進数に変換する。

10進数を36進数に変換する関数 base_convert(“変換したい文字列”, $from_base, $to_base); //(例)base_convert(12345, 10, 36); //10進数の12345を36進数に変換します。 //(例)base_convert(“12345″, 36, 10); //36進数の12345を10進数に変換します。   ちなみに、進数は何個、数を数えたら次の桁に繰り上がるかの数。 2進数 0,1の2数 10進数 0~9の10数 16進数 0~9、A~Fの16数 36進数 0~9、A~Zの36数   変換フォーム 10進数 10進数の「」は、36進数で表すと「0」です。   この関数でできない62進数(0~9、A~Z、a~z)やBASE64を応用した64進数にも挑戦したいと思います。

Posted in PHP | Tagged | Leave a comment

IEの印刷設定をActiveXコントロールとJavascriptで行う方法

イントラネットで表示されているページを印刷しようとすると、 A4・縦で印刷したいのに、デフォルトはA4・横になっているため、 印刷設定を毎回「縦」に変更しなくてはならない事にガマンの限界が…。   Windowsサーバーなので、 イントラネットはIIS上のASPで作っており 一部PHPを使っています。   印刷設定(用紙設定)はASPやJavascriptの関数があるんかな? といろいろ検索しましたが見つかりませんでした…。   しかし、替わりに見つけたのはActtiveXコントロール「ScriptX」を使った方法! まず以下のページで「Dowload smsx.cab」ボタンを押してダウンロード 任意のディレクトリにアップロード 印刷設定を使うページに以下のコードを挿入し、 <object>タグでActiveXコントロール読み込む。 <!– ScriptX 読み込み –> <object id=factory style=”display:none” classid=”clsid:1663ed61-23eb-11d2-b92f-008048fdd814″ codebase=”http://**smsx.cabを設置した場所のパス**/smsx.cab#Version=6,5,439,72(←バージョンによって書き換える)”> </object> <!– ScriptX 読み込み –> 次にJavascriptファンクションで印刷設定を行う。 <script type=”text/javascript”> function printWindow() { factory.printing.header = “ヘッダ名”; … Continue reading

Posted in ASP, IIS, Javascript, PHP, WEB | Tagged | Leave a comment

メールリンク作成フォーム

クリックすれば、件名・本文が入力された状態で メールソフトの新規メールフォームが表示されて便利なメールリンクですが、 都度リンクを手書きで設定したり、 文字化けしないように件名と本文をURLエンコードしたりすることが面倒なので、 リンク作成用のフォームを作ってみました。 メールリンク作成フォーム メールアドレス 件名 本文   リンク:ここにリンクが表示されます。 エラー処理とか加えていないので、変な動きをするかもしれません…。

Posted in PHP | Tagged | Leave a comment

PHPのファンクションでMozshotを楽に使う

何かとサイトサムネイルで重宝するMozshotですが、 サムネイル表示のために、毎回URLの指定やソースの調整をすることがだんだん苦になってきました。 簡単にサイトサムネルを表示するファンクションのサンプルがあったので自分なりに改造し、 指定URLのタイトル取得とMozshotのサムネイルにリンクを組み合わせてみました。 <?php /*—- 指定したURLのソースを取得 —-*/ function getURL( $pURL ) { $_data = null; if( $_http = @fopen( $pURL, “r” ) ) { while( !feof( $_http ) ) { $_data .= fgets( $_http, 1024 ); } fclose( $_http … Continue reading

Posted in mozshot, PHP, WEB | Tagged | Leave a comment