" hendaklah "",Saya mempunyai beberapa HTML yang berantakan dengan ruang dalam teg dan mahu menjadikannya sah semula - contohnya: 1>0istrueandapples>>>bananas hendaklah ditukar kepada HTML yang sah, dan apabila diberikan, dijangka menghasilkan: 1>0is"> Ungkapan biasa untuk mengalih keluar ruang antara teg HTML yang tidak sah - cth. "</b>" hendaklah "</b>"-Soal Jawab Rangkaian PHP Cina
Ungkapan biasa untuk mengalih keluar ruang antara teg HTML yang tidak sah - cth. "" hendaklah ""
P粉884667022
P粉884667022 2023-09-02 19:56:28
0
2
447

Saya mempunyai beberapa HTML yang dikacaukan oleh ruang dalam teg dan mahu menjadikannya sah semula - contohnya:

< div class='test' >1 >b >benar pisang< / div >

hendaklah ditukar kepada HTML yang sah, dan apabila dipaparkan, dijangka menghasilkan:

1 > 0 adalah benar >>> pisang

Sebarang teks yang didahului/diikuti dengan ruang dalam > atau >< hendaklah kekal tidak berubah - contohnya, ;1 >0 hendaklah dikekalkan dan bukannya dimampatkan kepada 1>0

Saya sedar ini mungkin memerlukan beberapa ungkapan biasa, yang tidak mengapa

Saya ada beberapa perkara:

Ini akan membetulkan sebahagian ;/b>

Sebagai contoh, saya boleh mengambil pendekatan drastik, tetapi itu juga akan memecahkan kod dalam bahagian teks label, bukan nama label itu sendiri

P粉884667022
P粉884667022

membalas semua (2)
P粉323050780

Tiada cara yang munasabah untuk menyimpan dokumen yang rosak seperti yang anda siarkan, tetapi dengan mengandaikan anda meletakkan>和类似字符替换为其相关实体,例如:> ;dalam teks, anda boleh meletakkan dokumen yang anda ingin terima ke dalam perpustakaan yang sesuai sepertiDomDocumentyang akan menjaga berehat.

$input = <<<_E_ < div class='test' >1 > 0 is < b >true and apples >>> bananas< / div > _E_; $input = preg_replace([ '#<\s+#', '#loadHTML($input, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); var_dump($d->saveHTML());

Keluaran:

string(80) "
1 > 0 is true and apples >>> bananas
"
    P粉064448449

    Regex ini juga berfungsi:

    Ia membahagikan bahagian yang sah dalam teg HTML kepada empat bahagian dan menggantikan bahagian yang tinggal (ruang) dengannya.

    Demo Regex101

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

    • ( - Tangkap kurungan sudut bukaan (bahagian 1)
    • s*- sepadan dengan mana-mana ruang
    • (/?)- Menangkap garis miring ke belakang pilihan (Bahagian 2)
    • s*- sepadan dengan mana-mana ruang selepas garis miring ke belakang
    • ([^]*S)- Tangkap kandungan dalam tag tanpa ruang di belakang (bahagian 3)
    • s*- Padankan ruang selepas kandungan dan sebelum kurungan sudut kanan
    • (>)- Menangkap kurungan sudut kanan (bahagian 4)

    const reg = /(<)\s*(\/?)\s*([^<>]*\S)\s*(>)/g const str = "< div class='test' >1 > 0 is < b >true< / b > and apples >>> bananas< / div >" const newStr = str.replace(reg, ""); console.log(newStr);
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!