在邮寄的第一个字母上添加span

时间:2011-01-23 作者:haha

示例帖子

<p>Lorem ipsum dolor sit amet</p>
<p>Morbi elementum odio vel tortor adipiscing vel tempor risus ullamcorper.</p>
我所做的:

function first_paragraph($content){
    return preg_replace(\'/<p([^>]+)?>/\', \'<p$1 class="first-paragraph">\', $content, 1);
}
add_filter(\'the_content\', \'first_paragraph\');
会有不同的class 对于第一段

现在我要添加<span class="first-letter">L</span> 结果应该是

<p class="first-paragraph"><span class="first-letter">L</span>orem ipsum dolor sit amet</p>
<p>Morbi elementum odio vel tortor adipiscing vel tempor risus ullamcorper.</p>
让我知道

<小时>

Update:

我成功了,但不是一个完美的解决方案。

function first_paragraph($content){
    $content = substr_replace($content, \'</span>\', 4, 0);
    $content = substr_replace($content, \'<span class="first-letter">\', 3, 0);
    $content = preg_replace(\'/<p([^>]+)?>/\', \'<p$1 class="first-paragraph">\', $content, 1); 
return $content;
}
add_filter(\'the_content\', \'first_paragraph\');

1 个回复
最合适的回答,由SO网友:matt 整理而成

此drop caps插件可实现您所需的功能:http://wordpress.org/extend/plugins/drop-caps/

如果你想做落差,这就足够了。如果您想做更多的工作,可以查看代码,看看插件如何在一个范围内包装第一个字符。它可能也使用preg replace。我看着自己,但我在电话里回答这个问题,无法查看密码。

结束

相关推荐