Annotation of parser3/tests/185.html, revision 1.5
1.5 ! misha 1: @main[]
1.1 misha 2: $request:charset[UTF-8]
3: $response:charset[UTF-8]
4: $response:content-type[
5: $.value[text/html]
6: $.charset[$response:charset]
7: ]
8:
1.3 misha 9: $str[ab^taint["]"cd^taint[xml][&]&ef]
10: <pre>^$str[$str] [^str.length[]]</pre>
1.1 misha 11:
1.5 ! misha 12: ^^str.left[]: ^left[$str]<br />
! 13: ^^str.left(-2): ^left[$str](-2)<br />
1.2 misha 14: ^^str.left(4): ^left[$str](4)<br />
15: ^^str.left(9): ^left[$str](9)<br />
1.5 ! misha 16: ^^str.left(20): ^left[$str](20)<br />
! 17: ^^str.right[]: ^right[$str]<br />
! 18: ^^str.right(-3): ^right[$str](-3)<br />
1.2 misha 19: ^^str.right(4): ^right[$str](4)<br />
20: ^^str.right(9): ^right[$str](9)<br />
1.5 ! misha 21: ^^str.right(30): ^right[$str](30)<br />
1.2 misha 22: ^^str.mid(1;8): ^mid[$str](1;8)<br />
1.5 ! misha 23: ^^str.mid(2;0): ^mid[$str](2;0)<br />
! 24: ^^str.mid(3;-1): ^mid[$str](3;-1)<br />
! 25: ^^str.mid(7): ^mid[$str](7)<br />
! 26: ^^str.mid(8;99): ^mid[$str](8;99)<br />
! 27: ^^str.mid(40): ^mid[$str](40)<br />
! 28: ^^str.mid(40;2): ^mid[$str](40;2)<br />
! 29: ^^str.mid(-5): ^mid[$str](-5)<br />
! 30: ^^str.mid(-5;2): ^mid[$str](-5;2)<br />
1.2 misha 31:
32: <hr />
1.1 misha 33: $str[о сколько нам открытий чудных...10.11.2005]
34: $length(^str.length[]) ^rem{ *** length in real chars (not in bytes) == 42 *** }
35:
36: <pre>^taint[as-is][
1.2 misha 37: ^$str[$str] [^str.length[]]
1.5 ! misha 38: <b>0</b>123456789<b>0</b>123456789<b>0</b>123456789<b>0</b>123456789<b>0</b>123456789
1.1 misha 39: ]</pre>
40:
1.5 ! misha 41: ^^str.pos[]: ^try{^str.pos[]}{$exception.handled(1)error}<br />
! 42: ^^str.pos[^$empty]: ^str.pos[$empty]<br />
1.1 misha 43: ^pos[$str;о]
1.4 misha 44: ^pos[$str;о;2]
1.1 misha 45: ^pos[$str; ]
46: ^pos[$str;чудных]
47: ^pos[$str;2005]
48: ^pos[$str;zzz]
49:
1.2 misha 50: <br />
1.1 misha 51: <table border="1">
52: <tr>
1.3 misha 53: <td>L</td>
54: <td>^^str.left(L) [^^substr.length[]]</tr>
55: <td>R</td>
56: <td>^^str.right(R) [^^substr.length[]]</tr>
57: <td>N, O</td>
1.2 misha 58: <td>^^str.mid(N;O)</tr>
1.1 misha 59: </tr>
60: ^for[i](0;$length\2+1){
61: <tr>
1.3 misha 62: $iLeft($i*2+$i%2)
63: <td>$iLeft</td>
64: <td>^left[$str]($iLeft)</td>
65:
66: $iRight($i*2+($i+1)%2)
67: <td>$iRight</td>
68: <td>^right[$str]($iRight)</td>
69:
70: $iMid($i*2)
71: $iLength(^if($i%2)(3;4))
72: <td>$iMid, $iLength</td>
73: <td>^mid[$str]($iMid;$iLength)</td>
1.1 misha 74: </tr>
75: }
76: </table>
77:
78:
79:
1.2 misha 80: @left[str;num][substr]
1.5 ! misha 81: ^try{
! 82: ^if(def $num){
! 83: $substr[^str.left($num)]
! 84: }{
! 85: $substr[^str.left[]]
! 86: }
! 87: $result['$substr' [^substr.length[]]]
! 88: }{
! 89: $exception.handled(1)
! 90: $result[error]
! 91: }
1.2 misha 92:
1.1 misha 93:
94:
1.2 misha 95: @right[str;num][substr]
1.5 ! misha 96: ^try{
! 97: ^if(def $num){
! 98: $substr[^str.right($num)]
! 99: }{
! 100: $substr[^str.right[]]
! 101: }
! 102: $result['$substr' [^substr.length[]]]
! 103: }{
! 104: $exception.handled(1)
! 105: $result[error]
! 106: }
1.1 misha 107:
108:
109:
110: @mid[str;num;count]
1.5 ! misha 111: ^try{
! 112: ^if(def $num){
! 113: ^if(def $count){
! 114: $substr[^str.mid($num;$count)]
! 115: }{
! 116: $substr[^str.mid($num)]
! 117: }
! 118: }{
! 119: $substr[^str.mid[]]
! 120: }
! 121: $result['$substr' [^substr.length[]]]
! 122: }{
! 123: $exception.handled(1)
! 124: $result[error]
! 125: }
1.1 misha 126:
127:
1.2 misha 128:
1.4 misha 129: @pos[str;substr;offset]
130: ^^str.pos[$substr]^if(def $offset){($offset)}: ^if(def $offset){^str.pos[$substr]($offset)}{^str.pos[$substr]}<br />
E-mail: