@main[]
$request:charset[UTF-8]
$response:charset[UTF-8]
$response:content-type[
$.value[text/html]
$.charset[$response:charset]
]
$str[ab^taint["]"cd^taint[xml][&]&ef]
^$str[$str] [^str.length[]]
^^str.left[]: ^left[$str]
^^str.left(-2): ^left[$str](-2)
^^str.left(4): ^left[$str](4)
^^str.left(9): ^left[$str](9)
^^str.left(20): ^left[$str](20)
^^str.right[]: ^right[$str]
^^str.right(-3): ^right[$str](-3)
^^str.right(4): ^right[$str](4)
^^str.right(9): ^right[$str](9)
^^str.right(30): ^right[$str](30)
^^str.mid(1;8): ^mid[$str](1;8)
^^str.mid(2;0): ^mid[$str](2;0)
^^str.mid(3;-1): ^mid[$str](3;-1)
^^str.mid(7): ^mid[$str](7)
^^str.mid(8;99): ^mid[$str](8;99)
^^str.mid(40): ^mid[$str](40)
^^str.mid(40;2): ^mid[$str](40;2)
^^str.mid(-5): ^mid[$str](-5)
^^str.mid(-5;2): ^mid[$str](-5;2)
$str[о сколько нам открытий чудных...10.11.2005]
$length(^str.length[]) ^rem{ *** length in real chars (not in bytes) == 42 *** }
^taint[as-is][
^$str[$str] [^str.length[]]
01234567890123456789012345678901234567890123456789
]
^^str.pos[]: ^try{^str.pos[]}{$exception.handled(1)error}
^^str.pos[^$empty]: ^str.pos[$empty]
^pos[$str;о]
^pos[$str;о;2]
^pos[$str; ]
^pos[$str;чудных]
^pos[$str;2005]
^pos[$str;zzz]
| L |
^^str.left(L) [^^substr.length[]] |
R |
^^str.right(R) [^^substr.length[]]
| N, O |
^^str.mid(N;O)
^for[i](0;$length\2+1){
|
$iLeft($i*2+$i%2)
| $iLeft |
^left[$str]($iLeft) |
$iRight($i*2+($i+1)%2)
$iRight |
^right[$str]($iRight) |
$iMid($i*2)
$iLength(^if($i%2)(3;4))
$iMid, $iLength |
^mid[$str]($iMid;$iLength) |
}
@left[str;num][substr]
^try{
^if(def $num){
$substr[^str.left($num)]
}{
$substr[^str.left[]]
}
$result['$substr' [^substr.length[]]]
}{
$exception.handled(1)
$result[error]
}
@right[str;num][substr]
^try{
^if(def $num){
$substr[^str.right($num)]
}{
$substr[^str.right[]]
}
$result['$substr' [^substr.length[]]]
}{
$exception.handled(1)
$result[error]
}
@mid[str;num;count]
^try{
^if(def $num){
^if(def $count){
$substr[^str.mid($num;$count)]
}{
$substr[^str.mid($num)]
}
}{
$substr[^str.mid[]]
}
$result['$substr' [^substr.length[]]]
}{
$exception.handled(1)
$result[error]
}
@pos[str;substr;offset]
^^str.pos[$substr]^if(def $offset){($offset)}: ^if(def $offset){^str.pos[$substr]($offset)}{^str.pos[$substr]}