実用的な解決策を得ることができました。
何が必要:
TinyMCE 高度なプラグイン
あなたがすべきこと:
TinyMCE プラグインに付属する Visual Blocks プラグインをカスタマイズし、強調表示する各要素に css クラスを追加します (すべての p 要素をループして innerHTML を解析し、特定のパターンが含まれているかどうかを確認します)。
最終的には次のようになります。
編集
カスタマイズする必要があるクラス: ... /plugins/tinymce-advanced/mce/visualblocks/ plugin.min.js
window.NodeList && (a.addCommand("mceVisualBlocks", function() {メソッドは、カスタマイズする必要がある場所です。メソッドの先頭にいくつかのコードを挿入するだけです。
var elements = a.getDoc().getElementsByTagName('p');
for (var i = 0; i < elements.length; i++) {
// here you should do some Regex or simple string contains string check
// of the innerHTML and set the css class of the element. E.g.:
if((elements[i].innerHTML.indexOf("foo") >= 0
&& elements[i].className.indexOf("baz") < 0){
elements[i].className = "baz";
}
}
同じディレクトリに css/ visualblocks.css
があります。次のように、カスタマイズに応じていくつかの css を追加する必要があります。
.mce-visualblocks .baz {
background-color: red;
}
上部のメニュー バー ([表示] -> [ブロックの表示]) のビジュアル エディター内で強調表示を切り替えることができます。
時間があれば、より良い解決策に取り組みますが、これは現時点でのすべての要件を満たしています。