Domanda

Recentemente ho provato ad importare un mucchio di post di blog da un vecchio blog (SharePoint) per il mio blog corrente (WordPress). Quando l'importazione completata, un sacco di tag <div> brutto e altri HTML ha reso per il contenuto del post, che avvitato il modo in cui il mio sito è stato il rendering.

sono in grado di visualizzare le righe incriminate nel database MySQL e vogliono sapere se c'è un modo per rimuovere in modo selettivo il testo HTML che potrebbe causare problemi. probabilmente potrei incidere questo in C # analizzando attraverso il testo, ma mi piacerebbe capire come posso fare questo utilizzando SQL, se posso.

Se volete vedere un esempio testo completo di quello che uno di questi file sembra come esiste nel campo di testo del database, ho caricato un file completo di esempio per il mio sito web .

Ecco vogliono che voglio fare:

  • Rimuovi <![CDATA[<div><b>Body:</b> dall'inizio di ogni file
  • Rimuovi le meta-informazioni alla fine di ogni file, che potrebbe assomigliare a questo:

    <div><b>Category:</b> SharePoint</div>
    <div><b>Published:</b> 11/12/2007 11:26 AM</div>
    ]]>
    
  • Rimuovi tutti i <div> e tag di chiusura </div>, che potrebbe avere un attributo di classe come:

    <div class=ExternalClass6BE1B643F13346DF8EFC6E53ECF9043A>
    

    Nota: La stringa esadecimale alla fine del ExternalClass può essere diverso

Non ho usato una dichiarazione di aggiornamento in MySQL prima e io sono in perdita per dove cominciare per sostituire selettivamente testo all'interno di un campo di testo. Avrei utilizzare regex all'interno di un'istruzione SQL per aiutare? Come faccio a eseguire un'istruzione contro il DB a distanza?

È stato utile?

Soluzione

Che dire di ripulire i post prima di importarli? Sembra come lavorare con un file locale che si può trattare come un file di testo sarebbe stato molto più facile. Allora si potrebbe utilizzare Perl o Python a sopportare giù sul problema a proprio piacimento prima di importare.

Questo presuppone che è sempre possibile accedere ai dati che era finita in SharePoint.

Altri suggerimenti

Non c'è modo semplice di fare questo senza utilizzare la piattaforma di back-end che si sta utilizzando per servire il vostro sito web o sono più acustomed a. Io, vorrei utilizzare PHP o Perl per pulire i dati fino che potrebbe essere difficile al meglio. Quindi la risposta è, si può fare, ma è necessario utilizzare un certo tipo di linguaggio di programmazione / elaborazione di farlo, MySQL da sola non sarà in grado di pulire i dati.

Supponendo che si sono decisi a utilizzare SQL come hai detto tu nella tua domanda, se avete la capacità di incidere con C # si dovrebbe essere in grado di capire come creare una stored procedure che utilizza un cursore in una ripetizione / recupero del ciclo per selezionare le righe, funzioni di stringa per massaggiare i dati, e un aggiornamento per aggiornare la riga. Check this out:

http://dev.mysql.com/doc/refman /5.0/en/cursors.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top