Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2019, 04:35
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 8 meses
Puntos: 65
Eliminar caracteres de una cadena según la cantidad total encontrada.

Hola.

Estoy intentando eliminar ciertas etiquetas html dentro de una variable $contenidoArticulos la cual viene de un campo de la base de datos con algunas etiquetas html que no usaremos, así que en un principio metí las etiquetas a elimnar en un array para reemplazarlo por espacios en blaco y listo.

//Etiquetas html para eliminar desde el campo contenidos en la base de datos.
Código PHP:
Ver original
  1. $eliminarHtml = array('<p>', "</p>", "<u>", "</u>", "<a>", "</a>","<strong>", "</strong>", "<em>", "</em>");

//Reemplazar por espacios vacios
Código PHP:
Ver original
  1. $contenidoSinHtml = str_replace($eliminarHtml, "", $contenidoArticulos);

Hasta aquí todo bien, sin embargo veo que algunas de las etiquetas con enlaces largos que hay dentro del contenido no son eliminados, como por ejemplo este:
Código HTML:
Ver original
  1. Artículo sobre las plantas donde.. <a href="http://www.web.com/sobre-las-plantas/a574">Título del enlace </a>

En ese caso ¿cómo podría eliminarlo?

Se me ha ocurrido esta opción pero no soy capaz de sacarlo:

Código PHP:
Ver original
  1. //Si en el array o el contenido $contenidoArticulos existe <a href
  2.  
  3. //Contar la cantidad total de caracteres de principio a fin (desde <a href hasta >Título enlace </a>)
  4.  
  5. //Contar la cantidad de caracteres en total
  6. $cadenaEncontrada = '<a href=" ';
  7. echo strlen ($cadenaEncontrada);
  8.  
  9. //Eliminar toda la cantidad total de caracteres encontrados en $cadenaEncontrada

¿Es posible hacer algo así?

Saludos.