cari

Rumah  >  Soal Jawab  >  teks badan

Gunakan gaya kongsi untuk menggantikan tag pseudo berturut-turut dengan teg HTML

<p>Saya mempunyai baris ini</p> <pre class="brush:php;toolbar:false;">a[link], a[link] a [link] text text text a [link] text a[link] text</pre> <p>Jadi saya ingin mencari pautan pertama sebelum teks dan melakukan satu operasi padanya dan menyerlahkannya dalam gaya istimewa (dalam kes ini, mungkin lebih atau kurang tiga) dan mencari pautan lain selepas teks Teks dan serlahkan mereka dalam gaya yang berbeza. </p> <p>Saya hanya dapat mencari tiga pautan pertama, tetapi saya tidak tahu sejauh mana saya melakukannya</p> <pre class="brush:php;toolbar:false;"><?php $re = '/^(a[(w+[s+]?)+],?s?)+/iu'; $str = 'a[pautan], a[pautan] a[pautan] teks teks teks a[pautan] teks a[pautan] teks'; preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0); var_dump($matches); ?></pra> <hr /> <p>Saya kini akan cuba memberikan contoh ilustrasi tentang perkara yang diperlukan: Terdapat perenggan sedemikian</p> <blockquote> <p>a[link1], a[link2] a[link3] teks teks teks a[link4] teks a[link5] teks</p> </blockquote> <p>Dalam artikel ini, terdapat pautan yang ditetapkan <kod>a[...]</code>. Pada masa hadapan, saya perlu menggantikan pautan ini dan menukarnya kepada borang ini: </p> <blockquote> <p><a href="link1" class="style1">link1</a><a href="link2" class="style1">link2</a><a href=" link3" class="style1 ">link3</a> text text text<a href="link4" class="style2">link4</a> text<a href="link5" class="style2 "> ;link5</a> teks</ p> </blockquote> <p>Tiga kelas pertama yang dipautkan diberi nilai <kod>style1</code>. Pautan yang mengikuti teks sudah mempunyai nilai kelas yang diberikan kepada <code>style2</code>. </p> <p>Pada mulanya, mungkin terdapat tiga pautan di hadapan teks, empat atau bahkan satu, dan boleh terdapat sebarang bilangan pautan dalam sebarang susunan selepas teks. </p>
P粉926174288P粉926174288532 hari yang lalu598

membalas semua(1)saya akan balas

  • P粉338969567

    P粉3389695672023-09-02 00:53:20

    Jangan cuba padankan semuanya sekaligus. Padankan setiap pautan secara individu, kemudian ulangi hasil. Untuk melakukan ini, gunakan preg_match_all ;如果您想在每次匹配时进行替换,请使用 preg_replace_callback . Penggunaan:

    a\[(\w+)\]

    Sepatutnya mencapai matlamat anda.

    Belum jelas lagi [s+]? 的目标是什么,可以选择允许空格或 +. Juga tidak jelas tentang koma dan ruang pilihan selepas pautan. Menjaganya dengan mudah adalah pendekatan terbaik.

    https://3v4l.org/2AvT1

    balas
    0
  • Batalbalas