Get all texts without html tags and / or PHP with regex [duplicated]

0

I am looking to create a regular expression to get texts that do not contain html and / or PHP tags within a string.

<div class="my_class">
     <div class="copy">
       © 2018 Texto
     </div>
   </div>

So far, I have the following regular expression

[^\s<\?ph?(h2|a ref="#")>].+\w+((?=<)|[^</*>]$)

but it is still incomplete, because if I add the following it does not work:

<div class="my_class">
 <h1>¿como estas?</h1>
 <div class="copy">
   © 2018 Texto
 </div>

<?php
      $valor = $CI->session->getSessionData('Mivalor');
 ?>

does not select "how are you?" and "session-> getSessionData ('Mivalor');      ? > "

    
asked by Xavy 27.08.2018 в 16:43
source

1 answer

1

Try the following: <(script|style)[^>]*>[\s\S]*?<\/>|<\/?[^>]+>

Replace with: (nada)

Explained:

  # Primera opción: Eliminamos todas las parejas de etiquetas script y style
  #                 Se entiende que su contenido no se considera texto
  <(script|style)[^>]*> # Inicio de etiqueta script/style. Guardamos en primer grupo de captura. Pueden preceder otras cosas como atributos.
    [\s\S]*?  # Cualquier caracter 0 o más veces, con 'pereza'
  <\/>      # Cierre de etiqueta (debe ser igual que primer grupo de captura)
# Segunda opción. Eliminar cualquier etiqueta
# < + /(opcional) + cualquier caracter que no sea > 1 o más veces + >
|<\/?[^>]+>

Demo

    
answered by 27.08.2018 / 21:07
source