私は多くのdivを含むhtmlコードを持っていて、このコードからいくつかのdivを削除したいのですが、これを行うのは非常に難しい substr()
か、同様のphp文字列関数です。
6 に答える
strip_tags()が役立つ場合があります。
これを確実に行うには、PHPHTMLパーサーを確認することをお勧めします。
あなたはjavascriptでこれを行うことができます。divに一意のIDを指定するだけで、そのような簡単なJavaScriptを記述できます。
document.getElementById('divid').remove();
注:remove()を実行する前に、要素がロードされていることを確認してください。-これはjqueryで実行できます。
$(document).ready(function(){
document.getElementById('divid').remove();
});
注意深く、ドキュメントがロードされてからしばらくしてから要素を追加し、それらを削除することにした場合は、次のコードで要素が存在するかどうかを確認できます。(ここでもjqueryライブラリを使用)、jqueryを使用しているのと同じように、オブジェクトでcssセレクターを使用することもできます。
if ($("#divid").length > 0){
$('#divid').remove();
}
そのコードは便利になる可能性があります。たとえば、ライブコメントシステムのように、ドキュメントに要素を徐々に追加し、setInterval()を使用して、要素が存在するかどうかを確認し続け、存在する場合は削除します。
phpでこれを行う必要がある場合は、PHPHTMLパーサーを使用するというBrianAgnewの回答で問題が解決するはずです。
ユースケースについてさらに詳しく説明していただけますか?私はJSでそれを行います-あなたが好きなクラスを削除したいdivを与えてから.remove
、jQueryで次のことを行います:
$(document).ready(function(){
$('.remove').remove()
});
あるいは、phpでHTMLを解析し、それを削除する方法があります。
DOMDocument
を使用してHTMLを解析する絶好の機会。
$html = new DOMDocument();
$html->loadHTML($html_string);
次に、使用可能な任意のメソッドを使用して、などの要素をドキュメントから検索して削除できますgetElementsByTagName
。次に、それらをドキュメントから削除して$html
再エクスポートする必要があります($html->saveHTML()
)
>try this.. ;)
> str_replace("<div>","") and
> str_replace("</div>","")