1

サイトに wysiwyg があります。問題は、ユーザーが大量のデータをコピーして貼り付けているため、サイトのレイアウトを壊している閉じられていない不適切な形式の div タグが多数残っていることです。

<div>andのすべての出現を取り除く簡単で簡単な方法はあり</div>ますか?

str_replace は機能しません。一部の div にはスタイリングやその他の要素が含まれているため、それらを考慮する必要があります<div style="some styling"> <div align="center">

これは正規表現でできると思いますが、それらに関してはまったくの初心者です。

4

4 に答える 4

6

HTML パーサーには DOM を使用することをお勧めしますが、RegEx を使用する以外に選択肢がない場合は、次のように使用できます。

$patterns = array();
$patterns[0] = '/<div[^>]*>/';
$patterns[1] = '/<\/div>/';
$replacements = array();
$replacements[2] = '';
$replacements[1] = '';
echo preg_replace($patterns, $replacements, $html);
于 2012-03-07T18:35:05.743 に答える
0

いいえ。正規表現を使用して HTML を解析/操作することはありません。

正規表現は交渉できません。彼らは推論することはできません。彼らは html を理解せず、xml を理解していません。そして、あなたのDOMツリーが死ぬまで、それらは絶対に止まりません。

htmlpurifierDOMを使用してツリーを操作します。

于 2012-03-07T18:34:42.383 に答える
-1
strip_tags($str, '<div>');

http://php.net/manual/en/function.strip-tags.php

于 2012-03-07T19:05:56.180 に答える