すべての隠しタグ(および終了タグ)を正規表現で削除しようとしていますが、問題は1つあります。見つかったすべての要素に対して "<>"の後ろに残ります。HTMLタグを検索するための正規表現は、PHPの背後に空のタグを残します
私は空白と私の隠されたフィールドを置き換えるために、これを使用しています:
$saveContent = preg_replace('<input type="hidden" .*? />', "", $saveContent);
$saveContent = preg_replace('</form>', "", $saveContent);
それはちょうど「<> <> <>」(2つの隠しフィールドと終了フォームタグ)を戻します。私は<の文字列を置換しようとしましたが、どちらも動作しないようです
私には何かが欠けていますか?あなたが..スラッシュをエスケープと修飾子がhttp://php.net/manual/en/reference.pcre.pattern.modifiers.php
$saveContent = preg_replace('/<input type="hidden" .*? \/>/i', "", $saveContent);
$saveContent = preg_replace('/<\/form>/i', "", $saveContent);
を使用すると、正規表現でHTMLを解析しようとするたび、あなたは子猫の叫びを作ります。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – GordonM