こんにちは
月曜日は完全に体調を崩しました。 。 。昼に試合を見に行ったんですが、夜はスマートに終わるかわかりません。
1.jQuery---フィルターセレクター(2)---
--[attribute=value] 属性セレクター
DOM 要素の重要な機能として、属性はセレクターでも使用できます。このセクションから、要素の属性を介して要素を取得するためのセレクターを紹介します。
属性セレクターの機能は、要素とまったく同じ属性をすべて取得することです。属性名と属性値。[] は属性セレクターに特に使用される括弧記号です。parameter 属性は属性名を表し、value パラメーターは属性値を表します。 [attribute=value]
フォームテキストセレクターは、フォーム内のすべての単一行テキスト入力ボックス要素を取得できます。単一行テキスト入力ボックスは、改行のないメモツールのようなもので、非常に広く使用されています。 :text
--:ラジオラジオボタンセレクター
フォーム内のラジオ ボタンは、複数のデータ項目のうち 1 つだけを選択するためによく使用されます。
セレクターを使用すると、フォーム内の
すべてのラジオ ボタン:radio
要素を簡単に取得できます。
--:チェックボックスチェックボックスセレクター
フォーム内のチェックボックスは、複数のデータを選択するためによく使用されます。
セレクターを使用して、フォーム内のチェックボックス要素をすばやく見つけて取得します。
--:送信ボタンセレクター
通常、フォーム内で許可されるのは、「type」属性値が「submit」である送信ボタン 1 つだけです。:submit
セレクターを使用して、フォーム内の 送信ボタン 要素を取得します。
---:画像画像ドメインセレクター
要素の "type" 属性値が "image" に設定されている場合、その要素は画像フィールドになります。このタイプのすべての要素をすばやく取得するには、:image
セレクターを使用します。
---:ボタンフォームボタンセレクター
フォームには多くの種類のボタンが含まれており、:button
セレクターは、「type」属性値が「button」である と
--:選択された状態セレクターをチェックしました
チェック ボックスやラジオ ボタン要素など、一部の要素は選択状態になります。選択すると、「checked」属性値が「チェック済み」になります。checked を呼び出すと、すべての要素が選択状態になります。
--:selected选中状态选择器
与:checked
选择器相比,:selected
选择器只能获取
------------------------------------------------- ---------------
2. 正規表現
ここで実行されるエンジン テンプレートの機能は、変数出力を置き換えることです。
必要なのは、テンプレートファイル.classとコンパイルされたソースファイル.phpです
--template.class.php
/*
* 説明: 模倣smartyテンプレートエンジンクラスファイル
*
*/
class template{
private $templateDir; //ソースファイルが配置されているディレクトリを保存するために使用されます
private $compileDir; //コンパイルされたファイルのディレクトリを保存するために使用されます
private $leftTag='{#';置き換えられるタグ。smarty のデフォルトは {
private $rightTag='#}';
private $currentTemp='' //現在コンパイル中のテンプレート ファイルの名前を保存するために使用されます
private $outputHtml; currentTemp の HTML コードを保存します
private $varpool=array() //変数プール; 変数はテンプレートのコンパイル中に保存されます
public function __construct($templateDir,$compileDir,$leftTag=null,$rightTag=null){
$this->templateDir= $templateDir;
$this->compileDir=$compileDir;
if (!empty($leftTag)) $this->leftTag=$leftTag; // 左右のタグを渡すとき、空ではないという判断をする必要があります
if (!empty($rightTag)) $this->rightTag=$rightTag;
}
//assign 関数 - テンプレートに必要な変数をアドレス プールに入れ、タグを与える
public function assign($tag,$var){
$this->varpool[$tag]=$var;
}
//上記の assign に対応して、アドレス プールから変数を取得します
public function getVar($tag ){
return $this->varpool[$tag];
}
//getSourceTemplate: コンパイルされたソース ファイルを取得するには、ファイル名とフル パスを知る必要があります (したがって、拡張子が必要です)
public function getSourceTemplate($ templateName,$ext='.html'){
$this->currentTemp=$templateName;
$sourceFilename=$this->templateDir.$this->currentTemp.$ext;
$this->outputHtml =file_get_contents($sourceFilename);
}
//compileTemplate: コンパイル メソッド
public functioncompileTemplate($templateName=null,$ext='.html'){
$templateName=empty($templateName) )? $this-> ;currentTemp:$templateName;
//コアコード、通常のコンパイル
//{#$(w+)#}
$pattern='/{#$(w+)#}/';
/ /明確な書き方 $ pattern='/'.preg_quote($this->leftTag).' *$([a-zA-Z_]w*) *'.preg_quote($this->rightTag).'/' ;
// コアコードがしなければならないことは、タグ内のコンテンツを見つけて、PHP が認識できるコンテンツに置き換えることです
$this->outputHtml=preg_replace($pattern, 'getVar('$1') ?>', $this->outputHtml);
//ここでの preg_replace の使用法に注意してください。$1 は一致するサブパターンを表します
// ターゲット ファイルは以下で生成されます完全なターゲット パスも必要です
$compiledFilename=$ this->compileDir.md5($templateName).$ext;
file_put_contents($compiledFilename,$this->outputHtml);
}
public function display ($templateName = null, $ext = '.html') {
$templateName = empty($templateName) ? $this->currentTemp : $templateName;
include_once $this->compileDir.md5($templateName)。 $ext;
}
}
--index.php
/*
* Copycat テンプレート エンジン テスト ファイル
*/
//インクルードファイル
require_once 'template.class.php';
//ルートディレクトリに基づいてパスを取得します
$baseDir=str_replace('\', '/',dirname(__FILE__));
$temp=newテンプレート ($baseDir.'/source/', $baseDir.'/complied/');
//変数プール
$temp->assign('pagetitle', 'Copycat version Smarty');
$temp->assign('test','imooc Goddess');
//
$temp->getSourceTemplate('index');
$temp->compileTemplate();
$temp->display();
--注意すべき点がいくつかあります
属性 + メソッドと同じパイプラインでコンパイルするだけです
その後、いくつかのサービスを開く必要があります。それ以外の場合は、私と同様にデバッグする必要があります。 。 。
皆さん頑張ってください。