Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    come imposto l'espressione regolare????

    salve a tutti come devo fare per trasformare questa stringa:

    <p align=center>testo centrato</p>

    in

    <div align="center">testo centrato</div>

    credo con le espressioni regolari ma non le conosco affatto e poi devo considerare che dentro i tag non ci sia solo la scritta "testo centrato" ma anche altro, volendo anche altri tag simili!!!!

    Grazie a tutti!!!
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Diciamo che la stringa in cui va fatta la trasformazione e`:
    <div style="align:center;">testo centrato</p>

    Si puo` trovare un modo con le RE per fare tale trasformazione.
    Ma trattandosi di linguaggio lato server (o comunque qualcosa da fare con un programma che poi va scricato sul server), non vodo il motivo di usare le RE, dato che ci sono programmi migliori per fare filtri di questo tipo.

    Ad esempio i migliori editor lo permettono.

    Inoltre se si deve impostare una procedura (piu` o meno automatica), occorre sapere quali variabilita` ci sono nelle stringhe che vanno trattate.

    PS. Se dici con che linguaggio devi farlo (JS non e` adatto a questo) ti sposto nel forum piu` opportuno.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ciao Mich_ forse in effetti sono stato poco descrittivo prima e quindi ora ti spiego ....

    Allora so facendo un editor per inserimento news per una agenzia di stampa.

    Quindi si presuppone che non tutti conoscano il linguaggio html giusto?? bene a me serve anche che il testo venga formattato anche con una certa validazione di codice ed anche in base alle mie preferenze ovviamente!! (se si può sia chiaro)....

    Una volta che l'utente invia il suo articolo, esso deve essere formattato secondo il mio modo di vedere e quindi......

    IO per fare l'editor mi sono basato sull'articolo che sta su html-pro per costruire appunto un editor in javascript che troviamo qui:
    http://pro.html.it/articoli/id_357/i...pag_1/pag.html

    ho modificato un pochino la parte javascript includendola in un file esterno, e seppure un pochino sporco te lo posto:

    [/code]
    var bHtmlMode = false;
    var str_iFrameDoc = (document.all)? "document.frames(\"Composition\").document\;": "document.getElementById(\"Composition\").contentD ocument\;";

    onload = initialize;
    function initialize(){
    iFrameDoc = eval(str_iFrameDoc);
    iFrameDoc.open();
    iFrameDoc.write("<html><body monospace style='color:#000000;font-size:12px;font-family:MS Sans Serif;'></body></html>");
    iFrameDoc.close();
    iFrameDoc.designMode = "On";
    document.getElementById("switchMode").checked = false;
    if(!document.all){
    document.getElementById("taglia").style.visibility = "hidden";
    document.getElementById("copia").style.visibility = "hidden";
    document.getElementById("incolla").style.visibilit y = "hidden";
    }
    }

    function validateMode(){
    if(! bHtmlMode)
    return true;
    alert("Deselezionare \" Visualizza HTML\" per utilizzare le barre degli strumenti");
    setFocus();
    return false;
    }

    function setFocus(){
    if(document.all){
    document.frames("Composition").focus();}
    else
    {document.getElementById('Composition').contentWin dow.focus();}
    return;
    }

    function formatC(what,opt){
    if(!validateMode())
    return;
    iFrameDoc = eval(str_iFrameDoc);
    iFrameDoc.execCommand(what,false,opt);
    setFocus();
    }

    function save_as(){
    iFrameDoc = eval(str_iFrameDoc);
    riquadro = iFrameDoc.body;
    codice = (bHtmlMode)?riquadro.innerText:riquadro.innerHTML;

    codice = codice.replace(/>/gi,"\;\">");
    codice = codice.replace(/<p\;\">/gi,"");
    codice = codice.replace(/<\/p\;\">/gi,"");
    codice = codice.replace(/<strong\;\">/gi,"[b]");
    codice = codice.replace(/<em\;\">/gi,"[i]");
    codice = codice.replace(/<u\;\">/gi,"<u>");
    codice = codice.replace(/<\/strong\;\">/gi,"<\/strong>");
    codice = codice.replace(/<\/em\;\">/gi,"<\/em>");
    codice = codice.replace(/<\/u\;\">/gi,"<\/u>");
    codice = codice.replace(/[list=1]/gi,"[list=1]");
    codice = codice.replace(/<\/OL\;\">/gi,"<\/ol>");
    codice = codice.replace(/<UL\;\">/gi,"<ul>");
    codice = codice.replace(/<\/UL\;\">/gi,"<\/ul>");
    codice = codice.replace(/<LI\;\">/gi,"[*]");
    codice = codice.replace(/<\/LI\;\">/gi,"<\/li>");

    codice = codice.replace(/<font /gi,"<span ");
    codice = codice.replace(/<\/font\;\">/gi,"<\/span>");

    //reimpostazioni del codice per il tag -font-
    //tipo: font-family
    codice = codice.replace(/face=Arial/gi,"style=\'font-family\:Arial\;\'");
    codice = codice.replace(/face=\"Comic Sans Ms\"/gi,"style=\'font-family\:\"Comic Sans Ms\"\;\'");
    codice = codice.replace(/face=\"Courier New\"/gi,"style=\'font-family\:\"Courier New\"\;\'");
    codice = codice.replace(/face=\"Times New Roman\"/gi,"style=\'font-family\:\"Times New Roman\"\;\'");
    codice = codice.replace(/face=Tahoma/gi,"style=\'font-family\:Tahoma\;\'");
    codice = codice.replace(/face=Verdana/gi,"style=\'font-family\:Verdana\;\'");

    //tipo: font-size
    codice = codice.replace(/size=1/gi,"style=\'font-size\:10px\;\'");
    codice = codice.replace(/size=2/gi,"style=\'font-size\:13px\;\'");
    codice = codice.replace(/size=3/gi,"style=\'font-size\:16px\;\'");
    codice = codice.replace(/size=4/gi,"style=\'font-size\:18px\;\'");
    codice = codice.replace(/size=5/gi,"style=\'font-size\:24px\;\'");
    codice = codice.replace(/size=6/gi,"style=\'font-size\:32px\;\'");

    //tipo: font-color-text
    codice = codice.replace(/color=#000000/gi,"style=\'color\:#000000\;\'");
    codice = codice.replace(/color=#FFFFFF/gi,"style=\'color\:#FFFFFF\;\'");
    codice = codice.replace(/color=#009900/gi,"style=\'color\:#009900\;\'");
    codice = codice.replace(/color=#FFFF00/gi,"style=\'color\:#FFFF00\;\'");
    codice = codice.replace(/color=#FF6600/gi,"style=\'color\:#FF6600\;\'");
    codice = codice.replace(/color=#FF0000/gi,"style=\'color\:#FF0000\;\'");
    codice = codice.replace(/color=#0000FF/gi,"style=\'color\:#0000FF\;\'");
    codice = codice.replace(/color=#FFFF00/gi,"style=\'color\:#FFFF00\;\'");
    codice = codice.replace(/color=#CCCCCC/gi,"style=\'color\:#CCCCCC\;\'");

    //tipo: font-backgroundcolor-text
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #000000\"/gi,"style=\'background-color\:#000000\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #FFFFFF\"/gi,"style=\'background-color\:#FFFFFF\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #009900\"/gi,"style=\'background-color\:#009900\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #FFFF00\"/gi,"style=\'background-color\:#FFFF00\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #FF6600\"/gi,"style=\'background-color\:#FF6600\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #FF0000\"/gi,"style=\'background-color\:#FF0000\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #0000FF\"/gi,"style=\'background-color\:#0000FF\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #FFFF00\"/gi,"style=\'background-color\:#FFFF00\;\'");
    codice = codice.replace(/style=\"BACKGROUND-COLOR\: #CCCCCC\"/gi,"style=\'background-color\:#CCCCCC\;\'");

    //eliminazione del codice ripetitivo : [' style='] che si è creato
    codice = codice.replace(/\' style=\'/gi," ");

    codice = codice.replace(/<P dir=ltr style=\"MARGIN-RIGHT\: 0px\"\;\">/gi,"");
    codice = codice.replace(/<BLOCKQUOTE dir=ltr style=\"MARGIN-RIGHT\: 0px\"\;\">/gi,"<blockquote dir=\'ltr\' style=\'margin-right\:0px\'>");
    codice = codice.replace(/<\/BLOCKQUOTE\;\">/gi,"<\/blockquote>");

    codice = codice.replace(/<P align=left\;\">/gi,"");
    codice = codice.replace(/<P align=center\;\">/gi,"<div >");
    codice = codice.replace(/<P align=right\;\">/gi,"<div >");


    codice = codice.replace(/\;\">/gi,">");
    //codice = codice.replace(/\">/gi,">");

    //codice = codice.replace(//gi,"");

    document.editor_newsital.save_text_html.value= codice;
    }

    function setMode(newMode){
    var testo;
    bHtmlMode = newMode;
    iFrameDoc = eval(str_iFrameDoc);
    riquadro = iFrameDoc.body;
    if(document.all){
    if(bHtmlMode){
    testo = riquadro.innerHTML;
    riquadro.innerText = testo;}
    else {
    testo = riquadro.innerText;
    riquadro.innerHTML = testo;}
    }
    else
    if(document.getElementById && document.createTextNode){
    if(bHtmlMode){
    testo = document.createTextNode(riquadro.innerHTML);
    riquadro.innerHTML = "";
    riquadro.appendChild(testo);}
    else {
    testo = document.createRange()
    testo.selectNodeContents(riquadro);
    riquadro.innerHTML = testo.toString();}
    }
    setFocus();
    }[/code]

    come vedi mi mancherebbe solo da sostituire quella stringa che proprio non so come farlo!!!


    in ogni caso ti ho inviato anche un privato per segnalarti un link che attualmente non posso rendere pubblico!! Chiedo scusa agli altri forumisti!!


    Poi mi sono sorte anche altre domande e cioè:

    ho visto molti editor che ad esempio se posizionano il cursore su una parte di testo già formattata il pulsante o i pulsanti ad esso relativo cambiano come se fossero selezionati (vedi word e simili)

    ed infine molti utilizzano o consentono di far utilizzare soltanto un tipo di stile già preformattato .....??!!

    mi potresti chiarire questi due argomenti anche se non ti dispiace???
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se sei sicuro che l'utente scrive esattamente una stringa, la sostituzione e` banale:
    str = str.replace(...)

    Altrimenti devi specificare quali cose possono essere variabili e quali fisse.
    Comunque normalmente gli editor hanno un bottone che permette l'inserimento corretto di una stringa, in modo che non sia l'utente a dover formattare corettamente (anche tu hai dei bottoni di quel tipo)

    Per la formattazione corretta, io lavorerei lato server, come dicevo prima.
    Puoi sempre usare Tidy, che trasforma una pagina in XHTML.
    Tidy lo puoi chiamare da un altro programma (se vuoi ti dico come fare da Perl)

    Ma vedo che gia` usi molti replace, quindi non capisco piu` cosa stai chiedendo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    ciao Mich_ tu hai ragione per tutto quello che hai detto ma ci sono due scogli:

    1 non conosco purtroppo per me il perl
    2 non posso usare un editor fatto da altri pur se gratuito


    in ogni caso il mio problema fondamentale è che non riesco a fare questa sostituzione:

    <p align=center>testo centrato formato da una stringa che non conosco assolutamente!!!</p>

    in

    <div align="center">testo centrato formato da una stringa che non conosco assolutamente!!!</div>

    anche perchè se hai notato elimino assolutamente il tag

    che in un certo qual modo (e non so il perchè!!!??) odio!!

    comunque grazie per adesso!!

    ps hai visto il pvt???
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il pvt lo ho visto, e ne ho tenuto conto nella risposta precedente.

    Questo dovrebbe essere il replace che stai cercando:

    var RE = new RegExp(/\<p(align=)(center)\>(.+?)\<\/p\>/, "g");
    str = str.replace(RE, '<div$1"$2">$3</div>');

    Controlla pero`, perche` potrei aver messo qualche carattere in piu` o in meno.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    ok!! lo provo subito e più tardi ti faccio sapere!! ciao e grazie per il momento!!!
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  8. #8
    no mi dice errore di sintassi in questa riga:

    var RE = new RegExp(/\<p(align=)(center)\>(.+?)\<\/p\>/, "g");


    io non ci capisco nulla!!
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In effetti la sintassi del replace conla RE definita fuori non la ho mai usata, per cui ho fatto seguendo i manuali.


    Prova cosi`:

    str = str.replace(/\<p(align=)(center|centre)\>(.+?)\<\/p\>/g, '<div$1"center">$3</div>');

    Resta sempre il mio dubbio perche` correggi un errore conun altro errore. In HTML4 e XHTML non esiste l'attributo align dei tag: occorre inserirlo nei CSS.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Originariamente inviato da Mich_
    Resta sempre il mio dubbio perche` correggi un errore conun altro errore. In HTML4 e XHTML non esiste l'attributo align dei tag: occorre inserirlo nei CSS.
    Porca miseriaccia hai ragione!!! preso dalla foga di fare questo replace mi era proprio passato di mente!!!

    E comunque ora lo provo così più tardi ti faccio sapere!!

    Curiosità ma questo diamine di editor in javascript non c'è alcun modo o funzione apposita per far inserire direttamente il codice completamente valido!!!????

    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

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.