String delimitado entre tags en PHP

Trabajaba con una cadena que recibía el contenido con pseudotags. Contenía una sección con la siguiente estructura: <m>XXXX</m>. Necesitaba aislar “XXXX” sin manipular el resto de la cadena. La siguiente función extrae texto contenido entre una cadena de inicio y otra de fin específicas.

function devuelveStringDelimitado($string, $comienzo, $fin){

$string = ” “.$string;

//Localizo la posición del elemento delimitador de comienzo en el string.

$ini = strpos($string,$comienzo);

//Si no existe en el string, devuelvo un string vacío.

if ($ini == 0) return “”;

//Sí existe. Le sumo a la posición de inicio del delimitador su longitud.

$ini += strlen($comienzo);

//Averiguo la longitud del texto entre fin e inicio

$len = strpos($string,$fin,$ini) – $ini;

//Devuelvo el texto.

return substr($string,$ini,$len);
}

Para llamar a la función bastaría con lo siguiente:

devuelveStringDelimitado($str,”<m>”, “</m>”);

Publicado en PHP, Programación web. Etiquetas: . 3 Comments »

3 comentarios to “String delimitado entre tags en PHP”

  1. incendialaciudad Says:

    estoy usando comillas normales

  2. Chema Mateos Says:

    Quizás deberías sustituir las comillas que copiaste de este Post, por las comillas normales.

  3. incendialaciudad Says:

    Me gustaría usarlo, pero me bota Parse error: syntax error, unexpected T_STRING in /home/we/m/u/mux/delimitastring.php on line 9

    que estoy haciendo mal?


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: