L’immensa utilità delle espressioni regolari

Come ho cambiato, in quasi tutti i post e i commenti, una serie di stringhe in altre usando le espressioni regolari.

Dopo anni di onorato servizio ho mandato in pensione il plugin WP CodeBox, che mi serviva per pubblicare righe di codice senza che WordPress le eseguisse ed evidenziandone anche la sintassi in base al linguaggio. Funziona bene il plugin, ma c’è stato sempre un aspetto che, pur sopportandolo, non mi andava giù: durante la scrittura del post contenente codice, dovevo restare in modalità HTML senza passare a quella Visuale, altrimenti tutti i caratteri come < venivano trasformati nelle rispettive entità HTML.

Ho deciso, quindi, di provare il plugin SyntaxHighlighter Evolved che fa la stessa cosa del precedente ma usando gli shortcode e preservando i caratteri anche in modalità Visuale. Tra gli altri vantaggi, questo plugin è sviluppato insieme ad Automattic ed è pure usato su wordpress.com.

Ecco cosa ho combinato: magari vi torna utile.

Per procedere alla sostituzione del plugin, ho dovuto cambiare qualcosa nei post e precisamente tutte le volte che ricorreva una riga come questa

<pre lang="php">Righe di codice</pre>

bisognava cambiarla in

[code lang="php"]Righe di codice[/code]

Nel 96% dei post ricorrevano righe simili a questa: un lavoro pazzesco da far desistere chiunque. Ma avendo già utilizzato le Espressioni regolari (dette anche Regex) per un altro mio progetto grazie a un plugin di WordPress, ho pensato di tentare lo stesso. Il plugin Search Regex, infatti, vi dà la possibilità di provare le stringhe di ricerca finché non siete sicuri del risultato e vi mostra a video il cambio che opererà. Una sorta di anteprima, insomma. Occhio che, in ogni caso, è un plugin tanto potente e utile quanto pericoloso, per cui è d'obbligo un backup del database.

Dopo l'ovvio backup, dall'interfaccia di Search Regex ho effettuato più passaggi, sia nei post che nei commenti. Ho cominciato dai commenti, dove avevo solo 23 risultati. Ho cercato:

/<pre lang="(.*?)">/

e l'ho sostituito con:

[code lang="$1"]

Photo courtesy: cackhanded, A regexp to match regexp, CC by-nc.

Autore: Aldo Latino

Aldo Latino usa con entusiasmo Linux nella distribuzione Ubuntu, è un appassionato di WordPress e si diletta a fare il blogger. Ha anche una lista dei desideri. Per altre informazioni visita la sua .

Un pensiero riguardo “L’immensa utilità delle espressioni regolari”

I commenti sono chiusi