Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > выделить первую букву в строке


Автор: spiderlab 28.1.2011, 21:55
Есть строка 
Код

$str = "Ключевые слова";
echo "<h2>".$str."</h2>";


Получается <h2>Ключевые слова</h2>

Надо первую букву обрамить тегами

<h2><span>К</span>лючевые слова</h2>

Помогите пожалуйста!


Автор: bars80080 28.1.2011, 21:59
Код

$str = "Ключевые слова";
$str1 = substr($str, 0, 1);
$str2 = substr($str, 1);
echo '<h2><span>'.$str1.'</span>'.$str2.'</h2>';

Автор: spiderlab 28.1.2011, 22:04
Спасибо большое, я забыл сказать что тут желательно применить регулярку. Как это будет с регуляркой?

Автор: gta4kv 28.1.2011, 23:10
Цитата

preg_replace('/([а-яА-Я]{1})/u', "<span>$1</span>", $str);


если регуляркой, то как то так...

Автор: spiderlab 29.1.2011, 01:20
А почему там между span стоит $1? Регулярка не работает(

Автор: Mavrun 29.1.2011, 10:13
Если не секрет, для чего выделять первую букву, чтобы ей стиль задать? Если да, то не проще ли использовать :first-letter

Автор: spiderlab 29.1.2011, 13:22
Да проще конечно, но там надо менять стиль первой буквы динамически)

Автор: bars80080 29.1.2011, 14:15
Цитата(spiderlab @  29.1.2011,  12:22 Найти цитируемый пост)
Да проще конечно, но там надо менять стиль первой буквы динамически) 

:first-letter - динамичнее некуда, можно вообще не обращаться на сервер

Автор: Temp 6.2.2011, 20:40
Как уже писали Mavrun и bars80080, самый простой способ, это сделать специальный стиль, в примере для <div>
Код

div.a:first-letter{
  color:red;
}

теперь первая буква <div> будет красного цвета

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)