HTML コンテンツからスクリプト タグを削除する 質問: のみを選択的に削除するにはどうすればよいですか<スクリプト>他の書式設定に影響を与えずに HTML コンテンツからタグを追加できますか? 回答: 正規表現 (Regex) を使用します 推奨されませんHTML を解析する場合、単純な正規表現を使用して を削除できます。タグ:</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre>$html = preg_replace('#<script(.*?)>(.*?)#is', '', $html);ログイン後にコピー DOMDocument の使用: より信頼性が高く安全なアプローチは、DOMDocument クラスを使用することです: $dom = new DOMDocument(); $dom->loadHTML($html); $script = $dom->getElementsByTagName('script'); $remove = []; foreach($script as $item) { $remove[] = $item; } foreach ($remove as $item) { $item->parentNode->removeChild($item); } $html = $dom->saveHTML();ログイン後にコピー 追加オプション: PHP のネイティブのstrip_tags() 関数を使用します を選択的に削除しません。 </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre>$html = strip_tags($html, '<p><a><b>');</pre><div class="contentsignin">ログイン後にコピー</div></div> <p><strong>HTML Purifier の使用</strong></p> <p>包括的な HTML 解析とセキュリティ対策を実行したい場合は、次の使用を検討してください。 HTML Purifier ライブラリ:</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre>$config = HTMLPurifier_Config::createDefault(); $config->set('Core.RemoveScript', true); $purifier = new HTMLPurifier($config); $html = $purifier->purify($html);</pre><div class="contentsignin">ログイン後にコピー</div></div>