⍝ Extract html segments:
nl←⊃⌽⎕tc
htm←,'<html> ',nl
htm,←' <body> ',nl
htm,←' <table> ',nl
htm,←' <tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr>',nl
htm,←' <tr><td>Guys</td><td>60</td><td>40</td></tr> ',nl
htm,←' <tr><td>Dolls</td><td>20</td><td>80</td></tr> ',nl
htm,←' </table> ',nl
htm,←' </body> ',nl
htm,←'</html> ',nl
'table'htx htm ⍝ extract table.
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ <tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr> <tr><td>Guys</td><td>60</td><td>40</td></tr> <tr><td>Dolls</td><td>20</td><td>80</td></tr> │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
'<table'htx htm ⍝ extract table including tags.
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│<table> <tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr> <tr><td>Guys</td><td>60</td><td>40</td></tr> <tr><td>Dolls</td><td>20</td><td>80</td></tr> </table>│
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
'<tr'htx htm ⍝ extract table rows.
┌────────────────────────────────────────────────────┬────────────────────────────────────────────┬─────────────────────────────────────────────┐
│<tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr>│<tr><td>Guys</td><td>60</td><td>40</td></tr>│<tr><td>Dolls</td><td>20</td><td>80</td></tr>│
└────────────────────────────────────────────────────┴────────────────────────────────────────────┴─────────────────────────────────────────────┘
'<td'htx htm ⍝ extract table data.
┌──────────┬─────────────────┬────────────────┬─────────────┬───────────┬───────────┬──────────────┬───────────┬───────────┐
│<td>%</td>│<td>Eye Poke</td>│<td>Kumquat</td>│<td>Guys</td>│<td>60</td>│<td>40</td>│<td>Dolls</td>│<td>20</td>│<td>80</td>│
└──────────┴─────────────────┴────────────────┴─────────────┴───────────┴───────────┴──────────────┴───────────┴───────────┘
'<td'∘htx¨'<tr'htx htm ⍝ extract table data per row.
┌───────────────────────────────────────────────┬───────────────────────────────────────┬────────────────────────────────────────┐
│┌──────────┬─────────────────┬────────────────┐│┌─────────────┬───────────┬───────────┐│┌──────────────┬───────────┬───────────┐│
││<td>%</td>│<td>Eye Poke</td>│<td>Kumquat</td>│││<td>Guys</td>│<td>60</td>│<td>40</td>│││<td>Dolls</td>│<td>20</td>│<td>80</td>││
│└──────────┴─────────────────┴────────────────┘│└─────────────┴───────────┴───────────┘│└──────────────┴───────────┴───────────┘│
└───────────────────────────────────────────────┴───────────────────────────────────────┴────────────────────────────────────────┘
'td'htx htm
┌─┬────────┬───────┬────┬──┬──┬─────┬──┬──┐
│%│Eye Poke│Kumquat│Guys│60│40│Dolls│20│80│
└─┴────────┴───────┴────┴──┴──┴─────┴──┴──┘
↑'td'∘htx¨'tr'htx htm
┌─────┬────────┬───────┐
│% │Eye Poke│Kumquat│
├─────┼────────┼───────┤
│Guys │60 │40 │
├─────┼────────┼───────┤
│Dolls│20 │80 │
└─────┴────────┴───────┘
'td'htx ltov htm ⍝ test vector of vectors.
┌─┬────────┬───────┬────┬──┬──┬─────┬──┬──┐
│%│Eye Poke│Kumquat│Guys│60│40│Dolls│20│80│
└─┴────────┴───────┴────┴──┴──┴─────┴──┴──┘
'td'htx ⎕fmt htm ⍝ test character matrix.
┌─┬────────┬───────┬────┬──┬──┬─────┬──┬──┐
│%│Eye Poke│Kumquat│Guys│60│40│Dolls│20│80│
└─┴────────┴───────┴────┴──┴──┴─────┴──┴──┘
'<jj'htx'<jj>aaa</jj><jj>bbb</jj>' ⍝ adjacent <end><begin> tags.
┌────────────┬────────────┐
│<jj>aaa</jj>│<jj>bbb</jj>│
└────────────┴────────────┘
1 disp '<JJ'htx'<jj>aaa</jj><jj>bbb</jj>' ⍝ no matches.
┌⊖────┐
│ │
└────→┘
⍝∇ htx ltov
Back to: code
Back to: Workspaces