【发布时间】:2018-10-05 21:31:38
【问题描述】:
我正在使用以下 preg_replace 代码在段落的第一个字母周围添加 -Tag(在 Wordpress 中):
<?php
ob_start();
the_content();
$content = ob_get_clean();
$content = preg_replace('@<p>\s*((?:<[^<>]+>\s*)*)([^<>\s])@', '<p>$1<span class="pst-Dropcap">$2</span>', $content, 1);
echo $content;
?>
这会产生类似的结果:
<p><span class="pst-Dropcap">H</span>ello world.</p>
我想扩展这段代码,让它用不同的标签跨越单词的其余部分:
<p><span class="pst-Dropcap">H</span><span class="pst-First_Word">ello</span> world.</p>
如何做到这一点?
我知道 CSS 伪选择器 ::first-letter,在这种情况下我有不同的理由不使用它。
【问题讨论】:
标签: php regex wordpress preg-replace preg-match