現状
以下のようなhtmlStr
があり、
const htmlStr = '<section id="sec1">セクション1</p></section>' + '<REPLACE class="signup_form"></REPLACE>' + '<section id="sec2">セクション2</section>' + '<REPLACE class="signup_form"></REPLACE>' + '<section id="sec3">セクション3</section>' +
以前の質問を参考に以下のような正規表現とsplit
を用いると
const regExp = new RegExp('(<REPLACE class="signup_form"></REPLACE>)'); console.log(okHtml.split(regExp));
下記のような配列にすることはできました。(配列の区切りが'<REPLACE class="signup_form"></REPLACE>',
に。)
[ '<section id="sec1">セクション1</section>', '<REPLACE class="signup_form"></REPLACE>', '<section id="sec2">セクション2</section>', '<REPLACE class="signup_form"></REPLACE>', '<section id="sec3">セクション3</section>' ]
より汎用的にする方法...を探してます...
例えば、<REPLACE ************></REPLACE>
の部分が任意であることを考慮した実装です。
つまり、以下のような文字列において、(facebook_login_form
というclassに1つ変わっている)
const htmlStr = '<section id="sec1">セクション1</p></section>' + '<REPLACE class="signup_form"></REPLACE>' + '<section id="sec2">セクション2</section>' + '<REPLACE class="facebook_login_form"></REPLACE>' + '<section id="sec3">セクション3</section>' + const regExp = new RegExp('(<REPLACE class="signup_form"></REPLACE>)'); console.log(okHtml.split(regExp));
以下のような配列をくることを期待しています。
[ '<section id="sec1">セクション1</section>', '<REPLACE class="signup_form"></REPLACE>', '<section id="sec2">セクション2</section>', '<REPLACE class="facebook_login_form"></REPLACE>', '<section id="sec3">セクション3</section>' ]
<REPLACE *************></REPLACE>
の*
部分を任意にし、
配列を区切る要素はあくまで<REPLACE>タグ
にしたいという要望です。
試してはいるものの、なかなかうまくいきません。ご助力頂けると幸いです。よろしくお願いします...。
1つの解決方法としては...
or
でつないでいくというものは把握できました。
const regExp = new RegExp('(<REPLACE class="signup_form"></REPLACE>|<REPLACE class="facebook_login_form"></REPLACE>)');
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/10 09:25
退会済みユーザー
2019/03/11 04:34
退会済みユーザー
2019/03/11 04:39
2019/03/11 06:37