Update of /cvsroot/binaryphp/binaryphp/functions/string
In directory sc8-pr-cvs1:/tmp/cvs-serv4995/functions/string
Added Files:
explode.cpp ltrim.cpp rtrim.cpp substr.cpp trim.cpp
ucfirst.cpp ucwords.cpp
Log Message:
finished cleaning up the functions dir
--- NEW FILE: explode.cpp ---
php_var explode(php_var delim_, php_var str_)
{
string delim = delim_.container;
string str = str_.container;
php_var arr = array();
unsigned long int pos = 0;
unsigned long int lastPos = 0;
string temp;
int i = 0;
if((pos = str.find(delim)) != string::npos)
{
temp = str.substr(0, pos);
arr[i] = temp;
lastPos = pos;
pos++;
}
for(i = 1; (pos = str.find(delim, pos)) != string::npos; ++i)
{
temp = str.substr(lastPos + delim.size(), pos - lastPos - 1);
arr[i] = temp;
lastPos = pos;
pos++;
}
temp = str.substr(lastPos + delim.size() > str.size() ? 0 : lastPos + delim.size(), str.size() - 1);
arr[i] = temp;
return arr;
}
--- NEW FILE: ltrim.cpp ---
php_var ltrim(php_var str, php_var charlist = "")
{
string chrs = charlist.container + " " + "\t" + "\n" + "\r" + "\0" + "\x0B";
int i = 0;
int j = 0;
bool changed = true;
while(changed == true && i < str.container.length())
{
changed = false;
for(j = 0; j < chrs.length(); ++j)
{
if(str.container[i] == chrs[j])
{
str.container.erase(i, 1);
changed = true;
break;
}
}
}
return str;
}
--- NEW FILE: rtrim.cpp ---
php_var rtrim(php_var str, php_var charlist = "")
{
string chrs = charlist.container + " " + "\t" + "\n" + "\r" + "\0" + "\x0B";
int i = 0;
int j = 0;
bool changed = true;
for(i = str.container.length() - 1; changed == true && i >= 0; --i)
{
changed = false;
for(j = 0; j < chrs.length(); ++j)
{
if(str.container[i] == chrs[j])
{
str.container.erase(i, 1);
changed = true;
break;
}
}
}
return str;
}
--- NEW FILE: substr.cpp ---
php_var substr(php_var str, php_var pos, php_var len)
{
if(len == 0)
len = str.container.length() - pos;
return (php_var) str.container.substr(pos, len);
}
php_var substr(php_var str, long pos, long len)
{
if(len == 0)
len = str.container.length() - pos;
return (php_var) str.container.substr(pos, len);
}
--- NEW FILE: trim.cpp ---
php_var trim(php_var str, php_var charlist = "")
{
string chrs = charlist.container + " " + "\t" + "\n" + "\r" + "\0" + "\x0B";
int i = 0;
int j = 0;
bool changed = true;
while(changed == true && i < str.container.length())
{
changed = false;
for(j = 0; j < chrs.length(); ++j)
{
if(str.container[i] == chrs[j])
{
str.container.erase(i, 1);
changed = true;
break;
}
}
}
changed = true;
for(i = str.container.length() - 1; changed == true && i >= 0; --i)
{
changed = false;
for(j = 0; j < chrs.length(); ++j)
{
if(str.container[i] == chrs[j])
{
str.container.erase(i, 1);
changed = true;
break;
}
}
}
return str;
}
--- NEW FILE: ucfirst.cpp ---
php_var ucfirst(php_var str)
{
for(int i = 0; i < str.container.length(); ++i)
{
if(str.container[i] != ' ')
{
str.container[i] = toupper(str.container[i]);
break;
}
}
return str;
}
--- NEW FILE: ucwords.cpp ---
php_var ucwords(php_var str)
{
php_var arr = explode(" ", str);
int i;
for(i = 0; i < arr.keys.size(); ++i)
{
arr.data[i].container[0] = toupper(arr.data[i].container[0]);
}
return implode(" ", arr);
}
|