note 73184 deleted from function.substr by bobby
| From: | bobby@php.net | Date: | Mon, 12 Feb 2007 17:10:49 +0000 |
| Subject: | note 73184 deleted from function.substr by bobby | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-123285@lists.php.net to get a copy of this message | ||
Note Submitter: neojoda at neojoda dot no-ip dot org
Reason: non-english
----
La anterior funcion "piece" funcionaba únicamente si el delimitador era de un caracter.
Aquà la misma función + una de apoyo parecida a la str_split , pero el delimitador que se le
pasa a la funcion "piece", puede ser un caracter o un conjunto de caracteres.
function str_splitPiece($entrada,$delim){
$lenStr=strlen($entrada);
$lenDelim=strlen($delim);
$arrayReturned = array();
$firts = substr($delim,0,1);
for ($i = 0; $i < $lenStr; $i++) {
if ($entrada[$i]==$firts){
$aux=substr($entrada,$i,$lenDelim);
if ($aux == $delim){
$arrayReturned[] = $aux;
$i = ($i+$lenDelim)-1;
}else{
$arrayReturned[] = $entrada[$i];
}
}else{
$arrayReturned[] = $entrada[$i];
}
}
return $arrayReturned;
}
function piece($entrada,$delim,$num){
$sortida="";
$cont = 1;
$find = 0;
$cadena = str_splitPiece($entrada,$delim);
foreach ($cadena as $key=>$value){
if ($value == $delim){
if ($cont==$num){
$find=1;
}else{
$cont++;
$sortida="";
}
}else{
if ($find!=1){
$sortida = $sortida.$value;
}
}
}
return $sortida;
}