Gunakan gaya kongsi untuk menggantikan tag pseudo berturut-turut dengan teg HTML
P粉926174288
2023-09-01 18:44:45
<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>
Jangan cuba padankan semuanya sekaligus. Padankan setiap pautan secara individu, kemudian ulangi hasil. Untuk melakukan ini, gunakan
preg_match_all
;如果您想在每次匹配时进行替换,请使用preg_replace_callback
. Penggunaan: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