JavaScript ha un equivalente a preg_replace_callback di PHP?
Ho una funzione php che viene eseguita all'interno di un add_meta_box() nell'editor di contenuti di WP (vedi sotto) che vorrei convertire in javascript in modo che venga eseguita al click di un pulsante (on demand invece che automaticamente al caricamento) per convertire il contenuto del post in tempo reale (senza inviare al server).
Esiste un metodo equivalente in javascript?
add_meta_box('mycontentfilter', __('My Content Filter'), 'my_content_filter', 'post', 'side', 'high');
function my_content_filter()
{
global $post;
$mykeyword = 'find this phrase';
$post->post_content = preg_replace_callback("/\b($mykeyword)\b/","doReplace", $post->post_content);
}
// la funzione di callback
function doReplace($matches)
{
static $count = 0;
switch($count++)
{
case 0: return '<b>'.$matches[1].'</b>'; // 1a occorrenza, avvolgi in grassetto
case 1: return '<em>'.$matches[1].'</em>'; // 2a occorrenza, avvolgi in corsivo
case 2: return '<u>'.$matches[1].'</u>'; // 3a occorrenza, avvolgi in sottolineato
default: return $matches[1]; // non modificare le altre
}
}

Ciao @Scott B:
Questa è più una domanda per StackOverflow che per WordPress Answers. Proverò a risponderti, ma se non è quello che ti serve ti suggerirei di cancellare la tua domanda qui e pubblicarla su SO.
La funzione Replace()
in Javascript può accettare una funzione come argomento. Ben Nadel (che è un vero asso di jQuery/Javascript, almeno secondo me) ha un ottimo articolo che spiega come usare Replace()
con una callback (cerca il sottotitolo "Javascript String Replace() - Function Replace"):
