Admin
 
 
Logo DIPLOX
Función que permite extraer una determinada parte de cadena en PHP
Volver Por kelvet
  
Jueves, 10/05/2012
Función que permite extraer una determinada parte de cadena en PHP
Quiero compartir con ustedes una función extremadamente útil, la cual permite obtener una determinada parte de un string.

Función:
function obtString ($TheStr, $sLeft, $sRight, $Sensitive=false){
$TheStrMin = $Sensitive ? $TheStr : strtolower ($TheStr);
$pleft = strpos ($TheStrMin, $sLeft, 0);
if ($pleft!==false){
$pright=strpos ($TheStrMin, $sRight, $pleft + strlen ($sLeft));
if ($pright!==false){
$Encontrado = (substr ($TheStr, $pleft + strlen ($sLeft), ($pright - ($pleft + strlen ($sLeft)))));
$Resto = substr ($TheStr, 0,$pleft).substr ($TheStr, ($pright+strlen ($sRight)));
return array ($Encontrado,$Resto);
}
}
return ´´;
}
¿Como utilizarla?:
Supongamos que queremos extraer del texto lo que esté dentro de las palabras [texto] y [/texto].

Para realizar su llamada se debe hacer de la siguiente manera:

$texto = ´Esto es una prueba de [texto]Texto para quitar[/texto]. Una función útil y eficaz.´;
$arr = obtString ($texto,¨[texto]¨,¨[/texto]¨);
if ($arr!=´´){
echo ´<b>Texto encontrado:</b> ´.$arr[0].´<br><b>Texto Restante:</b> ´.$arr[1].´<br>´;
}
Además la función permite recibir otro parámetro mas ¨case sensitive¨, el cual se puede escribir en valor boleano (true or false), (1 or 0);
$texto = ´Esto es una [teXTo]prueba[/TEXTO] de [texto]Texto para quitar[/texto]. Una función útil y eficaz.´;
$arr = obtString ($texto,¨[texto]¨,¨[/texto]¨,true);
En este caso encontrará exactamente lo que este dentro de esas palabras. Puede verse como saltea la palabra ¨prueba¨.

Por default se encuentra en false ese parámetro. Con solo quitar el valor true, observarán como extrae la palabra ¨prueba¨.

Espero que les sea de gran utilidad.
Saludos.


Volver Por kelvet