|
@@ -69,16 +69,28 @@ import php.*;
|
|
|
var cLength = c.length;
|
|
|
var sLength = s.length;
|
|
|
if (cLength == 0 || sLength >= l) return s;
|
|
|
- var padLength = Math.ceil((l - sLength) / cLength) * cLength + sLength;
|
|
|
- return Global.str_pad(s, padLength, c, Const.STR_PAD_RIGHT);
|
|
|
+ var padLength = l - sLength;
|
|
|
+ var padCount = Syntax.int(padLength / cLength);
|
|
|
+ if(padCount > 0) {
|
|
|
+ var result = Global.str_pad(s, Global.strlen(s) + padCount * Global.strlen(c), c, Const.STR_PAD_RIGHT);
|
|
|
+ return (padCount * cLength >= padLength) ? result : Syntax.concat(result, c);
|
|
|
+ } else {
|
|
|
+ return Syntax.concat(s, c);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static function lpad( s : String, c : String, l : Int ) : String {
|
|
|
var cLength = c.length;
|
|
|
var sLength = s.length;
|
|
|
if (cLength == 0 || sLength >= l) return s;
|
|
|
- var padLength = Math.ceil((l - sLength) / cLength) * cLength + sLength;
|
|
|
- return Global.str_pad(s, padLength, c, Const.STR_PAD_LEFT);
|
|
|
+ var padLength = l - sLength;
|
|
|
+ var padCount = Syntax.int(padLength / cLength);
|
|
|
+ if(padCount > 0) {
|
|
|
+ var result = Global.str_pad(s, Global.strlen(s) + padCount * Global.strlen(c), c, Const.STR_PAD_LEFT);
|
|
|
+ return (padCount * cLength >= padLength) ? result : Syntax.concat(c, result);
|
|
|
+ } else {
|
|
|
+ return Syntax.concat(c, s);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static function replace( s : String, sub : String, by : String ) : String {
|