Vamos a ver una sencilla forma de extraer parte de una cadena con PHP. Imaginemos que tenemos una cadena con caracteres indeterminados, y que dentro de ella queremos extraer una parte, por ejemplo una url.
Puede sonar algo raro pero hace poco me ha hecho falta. Para ello, podemos indicar mediante la cadena de comienzo y la cadena de finalización la cadena que queremos extraer de la siguiente forma:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function sacar($TheStr, $sLeft, $sRight){ $pleft = strpos($TheStr, $sLeft, 0); if ($pleft !== false){ $pright = strpos($TheStr, $sRight, $pleft + strlen($sLeft)); if ($pright !== false) { return (substr($TheStr, $pleft + strlen($sLeft), ($pright - ($pleft + strlen($sLeft))))); } } return ''; } $cadena = "hola http://manual-web.com mundo"; $resultado = sacar($cadena,'http://','.com'); echo $resultado; # http://manual-web.com |
De ésta forma, habremos conseguido extraer la parte de la cadena que deseamos.