0
私はHTML文字列を取得しました。これからいくつかの特別なタグを別のものに変換したいのです。私はTinyMCEプラグインのためにこれが必要です。私はWordpressのwpgalleryプラグインを変更しようとしました。例えばHTMLアンカーを置き換えるJavaScriptの正規表現
:
{link cat_id="4" content_id="5" content_slug="Slug 1"}
私はリターンを必要とする:これらは、HTML文字列私は特別なリンク1を見つけ、そこから何か他のものに変換する必要がある。ここ
<a href="http://www.yahoo.com">Yahoo</a>
<a href="http://www.google.com">Google</a>
<a href="#" rel='special' title='link cat_id="4" content_id="5" content_slug="Slug 1"'>Some where else</a>
であるが、タイトル値 ようなものですこのような値をMySQLに挿入する
<a href="http://www.yahoo.com">Yahoo</a>
<a href="http://www.google.com">Google</a>
{link cat_id="4" content_id="5" content_slug="Slug 1"}
私はこれを試しました
function getAttr(s, n) {
n = new RegExp(n + '="([^"]+)"', 'g').exec(s);
return n ? tinymce.DOM.decode(n[1]) : '';
};
return co.replace(/[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g, function(a,im) {
var cls = getAttr(im, 'rel');
if (cls.indexOf('special') != -1)
return '{'+tinymce.trim(getAttr(im, 'title'))+'}';
return a;
});
この
/[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g
は '特別' にrel
EQとタグが、他のすべてを見つけることができません。
お試しください[^ <] *(([^ <]+)<\/a>) – Hgeg
ありがとうございます働いた:) – orhan
私はtinymceプラグインのためにこのregexpが必要です。これはonBeforeSetContentでは動作しますが、onPostProcessでは動作しません。 – orhan