WPコンテンツエディタ(下記参照)のadd_meta_box()内で実行されるphp関数があり、それをボタンクリックで実行するようにJavaScriptに変換します(オンデマンド対自動ロード) )リアルタイムで投稿内容を変換する(サーバに投稿することなく)。
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);
}
// the callback function
function doReplace($matches)
{
static $count = 0;
switch($count++)
{
case 0: return '<b>'.$matches[1].'</b>'; // 1st instance, wrap in bold
case 1: return '<em>'.$matches[1].'</em>'; // 2nd instance, wrap in italics
case 2: return '<u>'.$matches[1].'</u>'; // 3rd instance, wrap in underline
default: return $matches[1]; // don't change others.
}
}
こんにちは@ Scott B:
これは実際にはWordPress Answersの質問よりも StackOverflow の質問のほうが多いです。私はそれを突き刺すつもりですが、これがあなたが必要とするものではないならば、私はあなたの質問をここで削除してSOにそれを置くことをお勧めします。
JavascriptのReplace()
関数は引数として関数を取ることができます。 Ben Nadel(少なくとも私の本では、jQuery/Javascriptのロックスターです)は素晴らしい記事を持っていますコールバックでReplace()
を使う方法をカバーする(サブヘッドを探す "Javascript String Replace() - Function Replace"):