プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Ex: Command > TagFinder

 
 Ex:TagFinderコマンド、Ex:TagFinder.GetValueコマンド
Download Top | Macro Top | Command | ExCommand  


 

Ex:TagFinderコマンド書式


  Ex:TagFinder:   src=(source_string)   sPos=(start_position)   tag=(tag_name)   name=(attribute_name)   value=(attribute_value)   igC   mode=(matching_pattern)   O:index=int[(suffix_index)]   O:inner=str[(suffix_inner)]   O:outerPrev=str[(suffix_outerprev)]   O:outerNext=str[(suffix_outernext)]  

src= : string, タグを含むページのソース文字列
sPos= : int, (source_string)内のタグ検出開始位置 (省略可)
tag= : string, 検索するタグの名前
name= : string, 検索するアトリビュート名 (省略可)
value= : string, 検索するアトリビュート値 (省略可)
igC : 大文字小文字を無視して検索する場合に指定 (省略可)
mode= : string, アトリビュートの検索方法 (省略可)
O:index= : int, タグの検出位置を設定する変数 (省略可)
O:inner= : string, 開始タグ~終了タグの内側を設定する変数 (省略可)
O:outerPrev= : string, 開始タグより手前にある文字列を設定する変数 (省略可)
O:outerNext= : string, 終了タグより後ろにある文字列を設定する変数 (省略可)

ローカル整数配列を使用する場合は、int[ ] の部分が intl[ ] になります。

 

Ex:TagFinder.GetValueコマンド書式


  Ex:TagFinder.GetValue:   name=(attribute_name)   O:value=str[(suffix_attribute_value)]  

(attribute_name) : string, 取得するアトリビュート名
(suffix_attribute_value) : string -or- int, 取得されたアトリビュート値の設定先(設定する変数の添え字)

ローカル文字列配列を使用する場合は、str[ ] の部分が strl[ ] になります。

 

概要


Ex:TagFinderコマンドで、ソースの文字列からタグを検出します。
検出されたタグのアトリビュート値は、Ex:TagFinder.GetValueコマンドで取得することができます。

 

mode指定 (アトリビュート値の検出モード)


Ex:TagFinderコマンドは、オプションパラメータ mode= の指定により、次の3種類の検出方法が選択できます。
省略時は mode="Equals" になります。

modeが Equals の場合

文字列(source_string)(start_position)位置以降から、 エレメント名が(tag_name)で、アトリビュート(attribute_name)(attribute_value) と一致するタグの位置を検出します (該当するタグが複数ある場合は 最初に出現するものを検出)。
たとえば、idが mainDiv であるようなdivタグ
  <div id="mainDiv" class="mainA">
を検出したい場合は、
  mode="Equals" tag="div" name="id" value="mainDiv"
と指定します。

modeが StartsWith の場合

文字列(source_string)(start_position)位置以降から、 エレメント名が(tag_name)で、アトリビュート(attribute_name)(attribute_value) から開始されるタグの位置を検出します。

modeが EndsWith の場合

文字列(source_string)(start_position)位置以降から、 エレメント名が(tag_name)で、アトリビュート(attribute_name)(attribute_value)終端するタグの位置を検出します。

modeが Include の場合

文字列(source_string)(start_position)位置以降から、 エレメント名が(tag_name)で、アトリビュート(attribute_name)(attribute_value)含むタグの位置を検出します。

 

タグ名とアトリビュート名のmode指定


コマンドパラメータtag=で指定するタグ名と、 name=で指定するアトリビュート名は、 常に大文字小文字の区別を無視して検索されます。
たとえばコマンドパラメータで、
  tag="A" name="hRef"
と指定しても、
  <a href="http://www.ex ...
といったエレメントがあれば、それを検出することができます。

value=で指定するアトリビュート値の比較は、 igC のオプションが指定されていた場合は 大文字小文字の区別を無視して行われます。
指定の無い場合は、 大文字と小文字は区別して検索されます。

アトリビュート値(value=) の指定を省略した場合は、 タグ名が tag= で指定したもので、かつ、 name= で指定したアトリビュートを持つ最初のタグが検出されます。
たとえばコマンドパラメータで、
  tag="A" name="ID"
と指定した場合、
  <a id="test">ABCDEFG</a>
  <a ID="link">ABCDEFG</a>
といった Aエレメント は検出対象になりますが、
  <a idx="test">ABCDEFG</a>
  <a>ABCDEFG</a>
という Aエレメント は検出対象になりません。

アトリビュート値(value=)と、 アトリビュート名(name=)の 両方の指定を省略した場合は、 タグ名が tag= で指定したものである最初のタグを検出します。

 

記述例


idに test が指定されているAエレメントの、hrefアトリビュートで指定されたリンク先を 文字列変数に取得する例です。



上記の例では、 Ex:TagFinderコマンド で str[100] に格納されている文字列(HTMLのソースコードを想定)から、 idアトリビュートに test が指定されているAタグを探し、そのタグ内で指定されている値を Ex:TagFinder.GetValueコマンド で str["test_link"] に取得しています。


次に、 O:inner=O:outerPrev=O:outerNext= を指定する場合の例を示します。


サンプルコード


上記のサンプルコードの実行結果は次のようになります。


実行結果
[BACK]
プロセルピナ