コンテンツを含むSTRINGがありhtml
ます。次のように、javascript 正規表現を使用してタグのstyle
属性を削除したい:style
前
<style style="color: red;">
後
<style>
手伝って頂けますか ?
コンテンツを含むSTRINGがありhtml
ます。次のように、javascript 正規表現を使用してタグのstyle
属性を削除したい:style
前
<style style="color: red;">
後
<style>
手伝って頂けますか ?
$input = '<style style="color: red;">';
$output = preg_replace('/(<[^>]+) style=".*?"/i', '$1', $input);
echo $output;
出力は次のようになります
<style>
文字列にそれがあると仮定します(これは非常に基本的な例であり、プロパティ値のエスケープされた引用符などを処理しません):
str = str.replace(/style="[^"]*"/, "");
それが実際に DOM のノードである場合:
node.removeAttribute("style");
私があなたの質問を正しく理解していれば、ブラウザーを使用せずに (つまりノード環境で) Javascript を使用して、HTML コンテンツを含む文字列のスタイル属性を取り除きたいと考えています。
RegEx を使用してそれらを削除できます。style 属性を持つすべてのタグでのみ実行します。
// For all tags:
myString = '<style style="color: red;">';
myString = myString.replace(/(<[^>]+) style=".*?"/ig, '$1');
console.log(myString);
または、スタイル属性を持つスタイル タグのみ:
// For style tags only:
myString = '<style style="color: red;">';
myString = myString.replace(/(<style[^>]*) style=".*?"/ig, '$1');
console.log(myString);
次のことを考慮してください。
var testHtmlString = '<p style="color: rgb(0, 0, 0); font-family: "Times New Roman";"></p>';
var regex = /style=".*?"\S"/
やってみるtestHtmlString.replace(regex, '')
お役に立てれば。
インライン スタイルを削除する必要がある HTML が大量にある場合など、複数行の HTML がある場合は、次を使用します。
testHtmlMultilineString.replace(/style=".*?"/mg,'')
それはばかげた使い方<style>
ですが、とにかく。以下のようにできます:
var styles = document.getElementsByTagName('style');
for ( var i = 0, l = styles.length; i < l ; i++ ){
styles[i].removeAttribute('style');
}