RegExp para quitar los comentarios HTML

En busca de una secuencia de coincidencias de expresiones regulares y reemplaza (preferiblemente PHP, pero no importa) para cambiar esto (el inicio y el final es solo texto aleatorio que debe conservarse).

EN:

fkdshfks khh fdsfsk  
CODE: AutoIt
msgbox
fdsfdskh

a esto FUERA:

 fkdshfks khh fdsfsk 
CODE: AutoIt
msgbox
fdsfdskh

Gracias.

¿Estás tratando de eliminar los comentarios? Qué tal si

 s///g 

o un poco mejor (sugerido por el propio interrogador):

  

Pero recuerde, el HTML no es regular, por lo que usar expresiones regulares para analizarlo lo llevará a un mundo de dolor cuando alguien le arroje casos extraños.

 preg_replace('//Uis', '', $html) 

Este código PHP eliminará todas las tags de comentarios html de la cadena $ html.

No olvides considerar los comentarios condicionales, ya que

  

los eliminará. Pruebe esto en su lugar:

  

Sin embargo, esto también eliminará los comentarios condicionales revelados a nivel de nivel inferior.

EDITAR:

Esto no eliminará los comentarios revelados en el nivel bajo o los ocultos en el nivel de desarrollo.

  

Una mejor versión sería:

 (?= 

Concuerda con los comentarios html como estos:

  

o

  

y lo más importante es que coincide con comentarios como este (la otra expresión regular mostrada por otros no cubre esta situación):

  

Nota

Aunque sintácticamente el siguiente es un comentario html, su navegador podría analizarlo de alguna manera de manera diferente y, por lo tanto, podría tener un significado especial. Pelar tales cuerdas podría romper tu código.

  

Ah lo he hecho,

  

Intente lo siguiente si sus comentarios contienen saltos de línea:

 //g 
  

Funciona en javascript y VBScript también como “.” no coincide con los saltos de línea en todos los idiomas

este código también es eliminar el código de JavaScript. eso es una lástima: |

aquí está el código javascript de ejemplo será eliminado con este código:

  

Aquí está mi bash:

  

Esto también eliminará los comentarios de varias líneas y no eliminará los comentarios revelados a nivel bajo ni los ocultos en el nivel de desarrollo.

 function remove_html_comments($html) { $expr = '//'; $func = 'rhc'; $html = preg_replace_callback($expr, $func, $html); return $html; } function rhc($search) { list($l) = $search; if (mb_eregi("\[if",$l) || mb_eregi("\[endif",$l) ) { return $l; } } 
 // Remove multiline comment $mlcomment = '/\/\*(?!-)[\x00-\xff]*?\*\//'; $code = preg_replace ($mlcomment, "", $code); // Remove single line comment $slcomment = '/[^:]\/\/.*/'; $code = preg_replace ($slcomment, "", $code); // Remove extra spaces $extra_space = '/\s+/'; $code = preg_replace ($extra_space, " ", $code); // Remove spaces that can be removed $removable_space = '/\s?([\{\};\=\(\)\\\/\+\*-])\s?/'; $code = preg_replace ('/\s?([\{\};\=\(\)\/\+\*-])\s?/', "\\1", $code);