Заменяне на първа буква в стринг с клас

embaka

Registered
Здравейте, значи имам някакъв текст от тоя вид в html

HTML:
<p>Колкото повече, толкова повече!" е казал Мечо Пух. Споделяйки тази мисъл, ние създадохме не просто детски парти център, а място, където всяко дете ще се почувства истински щастливо. Подбрахме екип от професионалисти, на които спокойно можете да поверите вашите малки съкровища. С внимание и индивидуален подход към всяко дете те ще се погрижат малчуганите да прекарат времето си в смях и забавления. Държахме нашият център да е модерно оборудван и да предлагаме най-новите игри, дори за най-малките. Колкото повече, толкова повече!" е казал Мечо Пух. Споделяйки тази мисъл, ние създадохме не просто детски парти център, а място, където всяко дете ще се почувства истински щастливо.</p>

Първата буква от стринга трябва да буде заместена с класа
HTML:
<span class="first_letter">к</span>

тъй като всеки път е различна букавата не мога да го заместя само с str_replace, ще се повтаря. На p тага може да има атрибути и това не става. Идеята е да се замени първата буква без да се променя цялостта на html. Така както е влязал стринга така трябва да излезе с променената първа буква с тага с класа и буквата в тага
 
ако можеше нямаше да искам подобно нещо, използва се специален шрифт за първата буква
 
embaka каза:
ако можеше нямаше да искам подобно нещо, използва се специален шрифт за първата буква

Код:
<?php

$str = '<p>bla bla</p>';
$search = '_^<p> *([\w])(.+) *</p>$_i';
$replacement = '<p><span class="first_letter">$1</span>$2</p>';

$new = preg_replace( $search, $replacement, $str );

echo $new."\n";

П.С. Само не разбрах какво не хареса на CSS варианта :)
http://jsfiddle.net/Se4hk/
 
Или...

PHP:
$text = 'dasdasdasdas';
echo substr_replace($text, "<span class=\"first_letter\">".substr($text, 0, 1)."</span>", 0, 1);
 

Горе