無効な HTML タグ間のスペースを削除する正規表現 - 例: 「</b>」は「</b>」である必要があります。
P粉884667022
P粉884667022 2023-09-02 19:56:28
0
2
370
<p>タグ内のスペースによって破損した HTML があり、それを再度有効にしたいと考えています。例: </p> <pre class="brush:php;toolbar:false;">< div class='test' >1 > 0 は < b >true</ b>、リンゴ >>>バナナ< / div ></pre> <p> は有効な HTML に変換される必要があり、レンダリングされると次のものが生成されることが期待されます: </p> <p> <pre class="snippet-code-html lang-html prettyprint-override"><code><div class='test'>1 > 0 は <b>true</b> とリンゴ>>> バナナ</div></code></pre> </p> <p><code>></code> または </code>><</code> 内のスペースの前後にあるテキストは変更しないでください (例: <code> ;1) > 0 は、1>0

に圧縮されるのではなく、保持される必要があります。 <p>これにはいくつかの正規表現が必要になる場合がありますが、問題ありません</p> <p>いくつかのことがあります:</p> <p><code><\s?\/\s*</code> これにより、部分的に <code></ b></ div ></code> が < code> に修正されます。 ;</b></div></code> ですが、残りは現在作業中です< /p> <p>たとえば、思い切ったアプローチを取ることもできますが、そうするとラベル名自体ではなく、ラベル テキスト部分内のコードも壊れてしまいます</p>
P粉884667022
P粉884667022

全員に返信(2)
P粉064448449

次の正規表現も有効です:

HTMLタグ内の有効部分を4つに分割し、残りの部分(スペース)をそれらに置き換えます。

Regex101 デモ

/(]*\S)\s*(>)/g

  • ( - 開始山かっこをキャプチャします (セクション 1)
  • \s* - 任意の空白文字と一致します
  • (\/?) - オプションのバックスラッシュのキャプチャ (パート 2)
  • \s* - バックスラッシュの後の任意のスペースと一致します
  • ([^]*\S) - 末尾のスペースなしでタグ内のコンテンツをキャプチャします (セクション 3)
  • \s* - コンテンツの後および閉じ山括弧前のスペースと一致します
  • (>) - 直角括弧のキャプチャ (セクション 4)

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!