Necesito hacer un script que me dé la información de los distintos párrafos de un documento html, fuente, tamaño, texto que hay en el párrafo...
Me he liado en la parte de obtener el texto del párrafo. Por ejemplo en el siguiente párrafo quisiera obtener--> Nota: con fecha de hoy y por correo certificado enviamos positivos y fotocromos.
Cita:
He hecho un script php para obtener ese texto:<p class=MsoNormal style='margin-top:12.0pt;margin-right:0cm;margin-bottom:
12.0pt;margin-left:153.1pt;text-indent:-25.5pt'><u><span style='font-family:
"Times New Roman";mso-bidi-font-family:Arial'>Nota</span></u><span
style='font-family:"Times New Roman";mso-bidi-font-family:Arial'>: con fecha de
hoy y por correo certificado enviamos positivos y fotocromos.<o:p></o:p></span></p>
12.0pt;margin-left:153.1pt;text-indent:-25.5pt'><u><span style='font-family:
"Times New Roman";mso-bidi-font-family:Arial'>Nota</span></u><span
style='font-family:"Times New Roman";mso-bidi-font-family:Arial'>: con fecha de
hoy y por correo certificado enviamos positivos y fotocromos.<o:p></o:p></span></p>
Cita:
con este script voy leyendo el contenido de cada párrafo. El problema es que al llamar a la variable me muestra el texto en pantalla con FORMATO ya que el navegador interpreta el código html.for($j=70;$j<=$lineas;$j++) {
if(ereg("<p",$array[$j])) {
$inicio=$j;
}
if(ereg("</p",$array[$j])) {
$final=$j;
while($inicio<$final){
$array[$inicio+1]=$array[$inicio].$array[$inicio+1];
$inicio=$inicio+1;
}
$texto[$cont_texto] = $array[$inicio];
$texto[$cont_texto] = ereg_replace("style="," ",$texto[$cont_texto]);
$texto[$cont_texto] = strtolower(ereg_replace("'mso-bidi-font-weight:normal'>","",$texto[$cont_texto]));
echo $texto[$cont_texto];
$cont_texto=$cont_texto+1;
}
}
if(ereg("<p",$array[$j])) {
$inicio=$j;
}
if(ereg("</p",$array[$j])) {
$final=$j;
while($inicio<$final){
$array[$inicio+1]=$array[$inicio].$array[$inicio+1];
$inicio=$inicio+1;
}
$texto[$cont_texto] = $array[$inicio];
$texto[$cont_texto] = ereg_replace("style="," ",$texto[$cont_texto]);
$texto[$cont_texto] = strtolower(ereg_replace("'mso-bidi-font-weight:normal'>","",$texto[$cont_texto]));
echo $texto[$cont_texto];
$cont_texto=$cont_texto+1;
}
}
De forma un poco chapucera le he metido un ereg_replace para quitar algunas etiquetas y que no interprete el código. Funciona, el problema ahora es que quiero limitar el texto que sale en pantalla, para que sólo salgan determinado número de caracteres.
En el ejemplo para que salga sólo las 3 primeras palabras seguidas de puntos suspensivos--> Nota: con fecha...
He probado a hacerlo con substr pero no funciona ya que interpreta el código html, así que no sé muy bien como hacerlo. Si me podeis ayudar os lo agradezco