Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema con espressioni regolari

    Ciao a tutti. Sto realizzando una piattaforma per la pubblicazione di news e relativi commenti per il mio sito (non mi andava di usare qualcosa di già pronto) e devo risolvere un ultimo problema prima di poterla pubblicare e utilizzare.

    I testi delle news accettano dei "tag", come quelli che è possibile usare in questo forum, che permettono di formattare i testi. Ad es., inserendo un testo come [ B ]qualcosa[ /B ], questo testo viene reso come grassetto (rimpiazzando i "tag" [ B ] e [ /B ] con e ).

    Il problema nasce nell'homepage che deve abbreviare i testi delle news alla stessa maniera del blog di HTML.it, ovvero troncarle in corrispondenza di un punto (anche esclamativo o interrogativo) seguito da uno spazio o da un ritorno a capo, mantenendo il testo ad una lunghezza media preimpostata. Ho utilizzato preg_match_all() per cercare i punti in questione tramite l'espressione regolare "/([.?!]\s)+/" senza problemi. Il guaio è che il testo può contenere anche "tag" [ Q ] e [ /Q ] che indicano un testo quotato e vengono resi con una coppia di tag <blockquote> e pertanto, se lo script troncasse il testo all'interno di una citazione, avrei un elemento <blockquote> non chiuso.

    Quindi dovrei riuscire a scrivere un'espressione regolare che consideri solo gli spazi presenti all'esterno delle coppie [ Q ]...[ /Q ], tenendo conto che possono esserci più citazioni intervallate da testi e che le stesse citazioni possono trovarsi anche immediatamente all'inizio e alla fine del testo delle news. Le ho provate tutte, ma non ne sono venuto a capo.

    Mi rendo conto che è abbastanza complesso come problema, ma spero che qualcuno di voi possa aiutarmi.


  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Credo che sarebbe più facile se ti accontentassi di "chiudere" gli eventuali "tag" che la troncatura ti lascia aperti. Sarebbe un algoritmo più semplice no?

  3. #3
    Non hai tutti i torti in effetti...è che mi sarebbe piaciuto mantenere completo il testo quotato che in questo caso risulterebbe inevitabilmente troncato, pur se col <blockquote> chiuso correttamente. Cmq ti ringrazio del suggerimento e in mancanza di altro (soprattutto di voglia, visto che ormai ci vedo doppio ) lo applico.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Te lo dico perchè a volte le "quotature" potrebbero essere troppo lunghe per inserirle "interamente"

  5. #5
    Infatti ci stavo pensando anche io...è che ultimamente ho così tante cose per la testa che non riesco a ragionare concentrandomi solo su una...sto realizzando l'interfaccia amministrativa per news e commenti (con funzioni che si occupano di "sistemare correttamente" i testi inseriti) e sto implementando un "motore" di elaborazione modulare che ho sviluppato per le richieste di tutti i forms del sito (questo sia sul mio sito che su quello di un cliente). In più devo pure essere "creativo" per la grafica...mi sa che una pausa non mi farebbe male!

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.