私は多くの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>","")