Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    problemi con le lettere accentate

    ho scritto questa funzione per correggere le lettere accentate:

    $array1 = array ("à","è","ì","ò","ù","é");
    $array2 = array ("&agrave","&egrave","&igrave","&ograve","&ugrave" ,"&eacute");
    $testo_articolo11b = preg_replace($array1,$array2, $testo_articolo11);

    ma mi da questo errore:

    Warning: preg_replace() [function.preg-replace]: No ending delimiter 'à' found in /web/htdocs/www.sito.it/home/living/include_in_evidenza2.php on line 91

    che vuol dire?

  2. #2
    non devi usare preg_replace, non stai usando espressioni regolari...

    usa str_replace o str_ireplace

    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ok grazie, ora non mi da più errore:

    $sostituire = array ('à','è','ì','ò','ù','À','È','Ì','Ò','Ù','á','é',' í','ó','ú','Á','É','Í','Ó','Ú');
    $con = array ('à','è','ì','ò','&ugr ave;','À','È','Ì','Ò', 'Ù','á','é','í','&oacu te;','ú','Á','É','Í',' Ó','Ú');

    $testo_articolo12b = str_replace($sostituire, $con, $testo_articolo12);



    PERO' ORA SUCCEDE UN'ALTRA COSA STRANA, SE USO LA FUNZIONE SUBSTR LA FUNZIONE DELLE ACCENTATE NON FUNZIONA PIU' PERCHE'?

    <?=substr($testo_articolo12b, 0, 233)?>

  4. #4
    prima di tutto non urlare...

    in secondo luogo sostituisci le accentate con loro stesse:


    Codice PHP:
    $sostituire = array ('à','è','ì','ò','ù','À','È','Ì','Ò','Ù','á','é','í','ó','ú','Á','É','Í','Ó','Ú');
    $con = array ('à','è','ì','ò','ù','À','È','Ì','Ò','Ù','á','é','í','ó','ú','Á','É','Í','Ó','Ú'); 
    posta uno spezzone di codice un po' più lungo, mi sembra strano che non funzioni, il problema evidentemente è altrove

    ciao
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Questo è solo un estratto spero che sia solo qui il problema:


    Codice PHP:

    $testo_articolo12 = strip_tags($row_12['testo_articolo']);

    $sostituire = array ('à','è','ì','ò','ù','À','È','Ì','Ò','Ù','á','é','í','ó','ú','Á','É','Í','Ó','Ú');
    $con = array ('&agrave;','&egrave;','&igrave;','&ograve;','&ugrave;','&Agrave;','&Egrave;','&Igrave;','&Ograve;','&Ugrave;','&aacute;','&eacute;','&iacute;','&oacute;','&uacute;','&Aacute;','&Eacute;','&Iacute;','&Oacute;','&Uacute;');

    $testo_articolo12b = str_replace($sostituire, $con, $testo_articolo12);
                             ?>   
                             
                             <?php
    $formatofoto 
    "images_articoli/".$row_12['foto'];
    list(
    $width,$height)=getimagesize($formatofoto);
    if (
    $width>$height) {
    ?>    
        <table width="280" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
        <td height="10"></td>
      </tr>
      <tr>
        <td height="180">
        [img]images_articoli/<?=$row_12['foto']?>[/img]" class="ombraimmagine1">
        </td>
      </tr>
      <tr>
        <td height="10"></td>
      </tr>
      <tr>
        <td valign="top">

    <a href="<?=$link?>?id=<?=$row_12['id_art_articolo']?>" title="<?=maiuscolo(($row_12['titolo_articolo']))?>">
    <span class="testo_rosso_bold"><?=maiuscolo(($row_12['titolo_articolo']))?></span></a>


      <span class="testo_nero_light"><?=substr($testo_articolo12b0233)?>...</span> [url="<?=$link?>?id=<?=$row_12['id_art_articolo']?>"]"  class="tre">continua [img]images/icona_elenco_triangolo_nero.gif[/img][/url]

    </td>
      </tr>

  6. #6
    un substr di quel tipo rischia di tagliarti le entità html...

    io toglierei quell'str_replace e al posto del substr farei così:


    Codice PHP:
    <?=htmlentities(substr($testo_articolo12b0233)); ?>
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Porca miseria, è vero il testo viene troncato proprio sulla entità html e anche con la funzione htmlentities non mi funziona


    Codice PHP:
    $testo_articolo12 = strip_tags($row_12['testo_articolo']);
                             ?>   
                             
                             <?php
    $formatofoto 
    "images_articoli/".$row_12['foto'];
    list(
    $width,$height)=getimagesize($formatofoto);
    if (
    $width>$height) {
    ?>    
        <table width="280" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
        <td height="10"></td>
      </tr>
      <tr>
        <td height="180">
        [img]images_articoli/<?=$row_12['foto']?>[/img]" class="ombraimmagine1">
        </td>
      </tr>
      <tr>
        <td height="10"></td>
      </tr>
      <tr>
        <td valign="top">

    <a href="<?=$link?>?id=<?=$row_12['id_art_articolo']?>" title="<?=maiuscolo(($row_12['titolo_articolo']))?>">
    <span class="testo_rosso_bold"><?=maiuscolo(($row_12['titolo_articolo']))?></span></a>


      <span class="testo_nero_light"><?=htmlentities(substr($testo_articolo120233)); ?>...</span> [url="<?=$link?>?id=<?=$row_12['id_art_articolo']?>"]"  class="tre">continua [img]images/icona_elenco_triangolo_nero.gif[/img][/url]

    </td>
      </tr>
      </table>

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ma io non devo convertire à in &agrave, devo fare l'inverso.

    non c'è una funzione che fa il contrario di htmlentities?

  9. #9
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Perchè devi convertire le lettere?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ho risolto, invece di troncare le lettere tronco le parole.

    Codice PHP:
    function TagliaStringa($stringa, $max_char){
            if(strlen($stringa)>$max_char){
                $stringa_tagliata=substr($stringa, 0,$max_char);
                $last_space=strrpos($stringa_tagliata," ");
                $stringa_ok=substr($stringa_tagliata, 0,$last_space);
                return $stringa_ok."...";
            }else{
                return $stringa;
            }
        }
        
        
    $stringa = $testo_articolo12;
    $stringa_tagliata12 = TagliaStringa($stringa, 240);


    <?=html_entity_decode($stringa_tagliata12); ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.