Estoy con un problema en PHP. No puedo dividir una cadena con expresiones regulares y no entiendo por que.
La cuestion es que estoy abriendo pagina html desde un archivo php, y enviandolas a procesar a otro archivo php. Para obtener la data y enviarla por ajax utilizo .html()
Cuando recibo la información html en la segunda pagina php, este script funciona mal:
Código PHP:
// contents
$texto = trim($_POST['a_page']);
// divide in sections
$patron = "#<section[^>]*>((?:(?!<\/section>).)*)<\/section>#isU";
preg_match_all($patron, $texto, $matches, PREG_PATTERN_ORDER);
print_r($matches);
El mismo script divide bien $texto cuando lo ejecuto en la primera pagina. Pero en la segunda, funciona con algunas paginas. Con otros, divide solo dos secciones, siendo que hay muchas mas. Al resto, no lo encuentra. Y me pase toda la tarde tratando de codificar la información y tratando de resolver esto, pero sin suerte.
Se le ocurre que pueda ser?
Esto es lo que tengo en jquery:
Cita: $("input[name='insertinmysql']").click(function(){
section = $(this).parent("form").parent("div.section");
section.children("span.comment2").remove();
section.children("form").remove();
thehtml = section.html();
$.ajax({
type: "POST",
url: "insertTutorialinmysql.php",
data: "a_page="+thehtml +"&"+ $(this).parent("form").serialize(),
success: function(data) {
if(data=="1"){
section.remove();
} else {
alert(data);
}
}
});
return false;
});