Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371

    contare > $lt; etc come 1 solo carattere

    Ho creato una funzione che riceve come parametri una stringa e una lunghezza massima, e restituisce la stringa con le parole più lunghe della lugnhezza massima troncate
    ad esempio
    stringa-originale=abcde fg hijklmno pq rst u vwxyz
    funzione(stringa-originale, 4);
    restituisce
    abcd e fg hijk lmno pq rst u vwxy z

    Il problema è nato quando ho convertito i vari
    < > e caratteri speciali in &gt; &lt; etc, infatti questi caratteri vengono contati come da 4 invece che da 1...
    non trovo una soluzione...

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Per prima cosa non serve scrivere una funzione per troncare una stringa ma utilizza substr

    http://it.php.net/manual/en/function.substr.php

    poi, prima tronca e poi codifica in html. Se non puoi fare così ed hai già la stringa codificata HTML allora utilizza html_entity_decode per riportare la stringa al suo stato originale quindi tronca e fai htmlentities o htmlspecialchars. Seguono i link al manuale.

    http://it.php.net/manual/en/function...ity-decode.php
    http://it.php.net/manual/en/function.htmlentities.php
    http://it.php.net/manual/en/function...ecialchars.php

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Roma
    Messaggi
    371
    non posso utilizzare substr, perchè substr tronca la stringa ad un determinato numero di lettere, invece la mia funzione cerca tutte le parole all'interno di una frase più lunghe di un certo numero di caratteri e tronca solo quelle, non so se mi sono spiegato...

  4. #4
    utilizza strlen() dopo html_entity_decode()

    Codice PHP:
    $string "etyjety&gt;&lt;etytj";
    $conteggio strlen(html_entity_decode($string));
    echo 
    $conteggio

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.