jQueryで文字列から破綻したhtmlタグを取る方法

破綻したhtmlタグとは
1.こんにちは</div> ← 開始のdivタグがない
2.<span>こんばんは ← 終わりの span タグがない

文字列操作をしていると上記のような状況が出てきたので、htmlタグに破たんがないように修正したかった。

方法
/////////////////////////////////////////////////
var string = 破綻した html
//破綻している html を作業スペースに置く
$('#tmp_place').html(string);

//再度取り出す
string= $('#tmp_place').html();
/////////////////////////////////////////////////

//作業スペースはあらかじめ用意しておく
/////////////////////////////////////////////////
htmlファイル
<div id="tmp_place" style="display:none"></div>
/////////////////////////////////////////////////

jQuery の .html でエレメント内に挿入して、ふたたぎ取り出すと破綻した html は修正される。確認は chrome のみ。ほかのブラウザは不明。

iphoneで一部のページが読み込めない

iphone で一部のページが読み込めない。PCでは問題なく表示されるページでも iphone では safari も chrome もダメだった。

iphone_server_error

「ページを開けません。サーバーが応答を停止しています。」と出る。

PCでページの読み込み時間を計測した
ttfb_time
FFTBが長すぎ

原因は、サーバーサイド(PHP)の処理に時間がかかりすぎるため。どうも iphone では 60 秒以上データを送信しない PHP ファイルはサーバー停止と同じエラーがブラウザに出るみたい。

対策として PHP の繰り返し処理中に1バイトの送信を繰り返す。するとサーバー停止扱いにはならない。

//半角スペースを出力してファイルが処理中であることを iphone に伝える
-------------------------------------------------
echo " ";
-------------------------------------------------

自宅サーバーのインターネットがつながらなかった

自宅サーバーのインターネットがつながらなかった。

デフォルトゲートウェイに ping を打つと Destination Host Unreachable と返ってくる。

ルーターの電源を入れた直したらつながった。

自宅作業環境の覚書

現在の構成

作業PCのほか、固定IPを持った自宅サーバー

自宅サーバー

プロバイダー インターリンク(固定IP)
使用ルーター(192.168.11.1)IOデータ

その他作業PC

プロバイダー ニフティ
使用ルーター(192.168.11.1) BUFFALO

multis_1

画像元

さくらVPSでwwwサブドメインのURLを統一(正規化)する

www.○○○.com でアクセスしたときに、○○○.com にリダイレクトする方法

1.www.○○○.com を叩いたら、○○○.com のデータがあるサーバーにアクセスするように、DNS のゾーンの設定をする。

2.○○○.com のサーバー内の vhost.conf などの設定ファイルに以下の記述を追記する。

--------------------------------------------------
# www normalization
ServerAlias www.○○○.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.○○○\.com$
RewriteRule ^/(.*) http://○○○.com/$1 [R=301,L]
--------------------------------------------------

なお、△△△.○○○.com のように既にサブドメインがついている URL は対して、www.△△△.○○○.com というサブドメインのサブドメインをつける URL の記述は通常しない。www 自体がサブドメインのため。上記のやり方でも正規化できない。

うまくいかない場合は、ブラウザの情報を削除してからやってみる。はまった。

【さくらVPS】php.ini の設定変更の覚書

さくらVPSでphpをインストールした際、別のサーバーでは出なかったエラーが出るようになった。
エラーを表示にした時の設定の覚書

初期設定でphpのエラー出力が非表示になっていたので表示するに変える
-------------------------------------------------
display_errors = Off
-------------------------------------------------
↓↓↓
-------------------------------------------------
display_errors = On
-------------------------------------------------

初期設定が↓のようになっていて「Notice: Undefined index」エラーが出るので変更
-------------------------------------------------
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
-------------------------------------------------

-------------------------------------------------
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
-------------------------------------------------

【mysql】データベースの照合順序を変更する

データベースの照合順序を変更する
---------------------------------------------------------
ALTER DATABASE データベース名 COLLATE utf8mb4_general_ci
---------------------------------------------------------

テーブルの照合順序を変更する
---------------------------------------------------------
ALTER TABLE テーブル名 COLLATE utf8mb4_general_ci
---------------------------------------------------------

CID番号から漢字を調べる

CID番号(Adobe-Japan1)から漢字を調べるにはグリフウィキを使うのが簡単。

グリフウィキ

たとえば、CID 15294 は「顙」だが

https://glyphwiki.org/wiki/aj1-15294

にアクセスすればいい。URLの下5桁がCIDに対応している。CIDが4桁なら先頭にゼロを加えて5桁にする。

さくらVPS で pear をインストールしたときの覚書

さくらVPS で pear をインストールしたときの覚書

現在インストールされているパッケージの確認
------------------------------
pear list
------------------------------

インストールできるパッケージの一覧
------------------------------
pear list-all
------------------------------

インストールされた pear のバージョンを確認
------------------------------
pear version
------------------------------
PEAR-1.9.4 がインストールされた。

DB パッケージをインストールする
------------------------------
pear install DB
------------------------------
DBパッケージをインストールするには pear のバージョンが 1.10.4 以上でないといけないエラーが出る。

こことかいろいろ見ながら最後に強制アップデートできた。

------------------------------
pear upgrade --force PEAR
------------------------------

preg_replaceで予期せぬnullが返ってくる場合の対処法

pcre.recursion_limit の値を増やす。
値は phpinfo で確認

phpファイルに以下を記述
--------------------------------------------------
ini_set('pcre.backtrack_limit', 100000000);
--------------------------------------------------

参考ページ:preg_replaceでnullが返却される際の対処

1 / 2912345...1020...最後 »