Visualizzare solo le prime100 parole di un campo ....

Ho un recordset che estrade campi da una tabella mysql nella quale ho anche un campo di tipo 'longtext' nel quale memorizzo di dati tramite fckeditor) ...

Mi interessa però avere una specie di anteprima del comtenuto del campo 'testo_news' .... quindi troncare il testo alla parola n.100 .... è possibile??? ... e nel caso esiste una immagine prima del testo (inserita con fckeditor) .... me la visualizza???

Come modifico il codice sottostante per avere in risultato di cui sopra???

<?php require_once('../Connections/DB_Web_Biccari.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_DB_Web_Biccari, $DB_Web_Biccari);
$query_News_PP = "SELECT * FROM news WHERE news.flag_primopiano = 'Y' AND news.flag_archivia = 'N' AND news.flag_bozza = 'N' ORDER BY dt_news DESC";
$News_PP = mysql_query($query_News_PP, $DB_Web_Biccari) or die(mysql_error());
$row_News_PP = mysql_fetch_assoc($News_PP);
$totalRows_News_PP = mysql_num_rows($News_PP);
?>

<table width="100%" cellspacing="2" cellpadding="2">
          <tr>
            <td>&nbsp;
              <table width="100%" border="0" cellpadding="2" cellspacing="2">

                <tr>
                  <td colspan="2"><h5><?php echo $row_News_PP['titolo_news']; ?></h5></td>
                </tr>
                <?php do { ?>
                  <tr>
                    <td colspan="2">
<?php echo $row_News_PP['testo_news']; ?></td>
                  </tr>
                  <tr>
                    <td width="51%"><?php echo $row_News_PP['dt_news']; ?><?php echo $row_News_PP['autore_news']; ?></td>
                    <td width="49%" colspan="-1"><a href="../News/News_Dettaglio.php?news_key=<?php echo $row_News_PP['id_news']; ?>">Leggi tutto &raquo;</a></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td colspan="-1">&nbsp;</td>
                  </tr>
                  <?php } while ($row_News_PP = mysql_fetch_assoc($News_PP)); ?>
              </table></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
        </table>
<?php
mysql_free_result($News_PP);
?>

Mi editate il codice ... perchè sono ancora poco pratico di PHP... grazie a tutti!

Ps. dimenticavo di dire che il codice è generato da DW8 ..

inviato 10 anni fa
ninext
modificato 10 anni fa
X 0 X

Se stai lavorando con testi in HTML ti sconsiglio di usare un sistema automatico per la creazione dell'introduzione. Il "taglio" potrebbe troncare dei tag HTML e comunque dovrebbe tenere presente molti (troppi!) fattori. Ne verrebbe fuori un programmone!

Ti consiglio piuttosto di realizzare personalmente l'introduzione e di memorizzarla nel DB (così come fanno Joomla e Mambo)

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Visto che ci sono di mezzo i tag html puoi provare a usare strip_tags e poi tagliare al 100simo carattere.

Conviene anche però che controlli qual'è il 100simo carattere, meglio se non capita nel mezzo di una parola :D

Manuale per strip tags: http://it.php.net/strip_tags

La soluzione più comoda è come dice Gianni.

risposto 10 anni fa
LonelyWolf
X 0 X

Se non ci fossero i tag potresti seguire anche questa tecnica:

http://www.phpnews.it/tips-tricks/php/creare-automaticamente-introduzione-di-un-testo/

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda