Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: как найти в строке первое слово

Сообщения:  [1-10]   [11-16] 

 
 автор: neadekvat   (23.04.2010 в 14:05)   письмо автору
 
   для: mabelrod   (23.04.2010 в 13:54)
 

Впредь читайте тему. Еще вчера я привел эту функцию.

  Ответить  
 
 автор: mabelrod   (23.04.2010 в 13:54)   письмо автору
 
   для: neadekvat   (22.04.2010 в 22:02)
 

спасибо я нашел:


$bar = 'sdf s gdrgsdg ';
$bar = ucfirst($bar); 
echo $bar;

  Ответить  
 
 автор: neadekvat   (22.04.2010 в 22:02)   письмо автору
 
   для: mabelrod   (22.04.2010 в 21:56)
 

Я же показал шаблон, который найдет первое слово в строке:
<?php
$text 
'#$@text,. text text';

preg_match('/^[^\w]*([\w]+)/'$text$out);

echo 
$out[1]; // text


Или так, чтобы сразу сделать верхний регистр у первого слова. Возможно, можно было сделать просмотром назад, но я не знаю способа установить квантификатор на это.
<?php
$text 
'#$@text,. text text';
$text preg_replace('/^([^\w]*)([\w]+)/e'"'$1' . ucfirst('$2')"$text);

echo 
$text// #$@Text,. text text

  Ответить  
 
 автор: mabelrod   (22.04.2010 в 21:56)   письмо автору
 
   для: neadekvat   (22.04.2010 в 21:49)
 

если смотрите в сторону слово слово слово то все слова идут через пробел. каждое предложение через точку. если отслеживать точку то не выход так как не засечем первое слово .........даже незнаю как быть, хотя задача кажется не такой сложной.

  Ответить  
 
 автор: mabelrod   (22.04.2010 в 21:56)   письмо автору
 
   для: neadekvat   (22.04.2010 в 21:49)
 

если смотрите в сторону слово слово слово то все слова идут через пробел. каждое предложение через точку. если отслеживать точку то не выход так как не засечем первое слово .........даже незнаю как быть, хотя задача кажется не такой сложной.

  Ответить  
 
 автор: neadekvat   (22.04.2010 в 21:49)   письмо автору
 
   для: Лена   (22.04.2010 в 21:47)
 

Подобные условия уже из области регекспов, мне кажется
А шаблончик бы простенький получился, что-то типа
/^[^\w]*[\w]+/

  Ответить  
 
 автор: Лена   (22.04.2010 в 21:47)   письмо автору
 
   для: neadekvat   (22.04.2010 в 21:44)
 

>В принципе, да, пробел должен встретится.. но если текст такой:
>"Слово,слово,еще слово", то что скрипт посчитает первым словом? =)

поставить условие: если после первого слова не пробел, значит может быть , или . Таких вариантов же немного. :))

хотя... мне кажется с utf эта функция не работает.

  Ответить  
 
 автор: neadekvat   (22.04.2010 в 21:44)   письмо автору
 
   для: Лена   (22.04.2010 в 21:37)
 

А если будет такой текст:
&laquo; слово...
В принципе, да, пробел должен встретится.. но если текст такой:
"Слово,слово,еще слово", то что скрипт посчитает первым словом? =)

  Ответить  
 
 автор: Лена   (22.04.2010 в 21:37)   письмо автору
 
   для: neadekvat   (22.04.2010 в 21:30)
 

я тоже сразу в сторону регулярных выражений подумала :)
я бы попробовала использовать strtok() с разделителем по пробелу. Первое слово(до пробела) как раз и вытянется.

  Ответить  
 
 автор: neadekvat   (22.04.2010 в 21:32)   письмо автору
 
   для: mabelrod   (22.04.2010 в 21:21)
 

Во-первых, для того, чтобы первое слово в параграфе было с заглавной, не обязательно знать, какое же там первое слово (это насколько я помню css)
Во-вторых, в PHP есть функция, которая преобразует первую букву в заглавную

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования