2012-03-31 3 views
0

可能性の重複:
php regexp: remove all attributes from an html tagPHPを使用してHTMLからすべてのスタイルを消去するにはどうすればよいですか?

$input = '<div style="font-size: 18px; line-height: 20px;" id="whatever">text</div>'; 

// ... some code here, probably regex 

$desired_output = '<div id="whatever">text</div>'; 

私はPHPを使用して、上記の方法を行うのですか?

+0

私は唯一の「style」属性を削除したい、すべての属性を削除したくありません! –

+0

重複する質問には、スタイルタグを明確に削除する方法や、単一の属性のみを削除する方法の良い例がいくつかあります。 –

+0

@RIMMERその質問の私の答えは正確にそれを示しています。また、要素から属性を削除する方法を説明する追加の重複もたくさんあります。 http://stackoverflow.com/questions/3820666/grabbing-the-href-attribute-of-an-a-element/3820783#3820783 – Gordon

答えて

1

次のコードを試すには、正規表現が必要です。

$desired_output = preg_replace('/<\s*style.+?<\s*\/\s*style.*?>/si', ' ', $input); 

またはこの

$desired_output = preg_replace('%style="[^"]+"%i', '', $input); 
+0

もう一度私は自分自身がこのリンクを投稿しなければならないことがわかります。正規表現でHTMLを解析することはできません。 http://stackoverflow.com/a/1732454/477127 – GordonM

+0

@GordonM:DOMソリューションが優れているかもしれませんが、正規表現を使ってHTMLから情報を抽出することは、動作する限り完全に有効な解決策です。 – Blender

+0

@Blender - それが動作しないことを除いて、なぜそれが無効な解決策であるか。 – Christian

関連する問題