Надо разукрасить (изменить цвет шрифта) последнее слово в предложении.
Как это лучше и проще сделать?
Спустя 7 минут, 5 секунд (7.04.2011 - 19:29) Mirexzpalich написал(а):
Ну... определи вхождение последнего пробела в строку1.... Отрежь от строки1 строку2 с позиции этого пробела до конца строки1.... И разукрашивай строку2 как хочешь. А вывод:
echo $str1.' '.$str2;
Спустя 4 минуты, 14 секунд (7.04.2011 - 19:34) panacea написал(а):
Сложно как-то. Можно по-подробнее. Как определить вхождение последнего пробела?
Спустя 1 минута, 55 секунд (7.04.2011 - 19:35) DmitryOpalev написал(а):
Что-то вроде этого:
Но если честно, я не уверен в регулярке
$text = preg_match_all("#(\w*)#", $text, $word);
$count = count($text);
echo $text[$count]; //Должно вернуть последнее слово
Но если честно, я не уверен в регулярке
Спустя 7 минут, 4 секунды (7.04.2011 - 19:43) panacea написал(а):
Это надо вырезать, обрабатывать и приконкатинировать снова? Я правильно понял, Дмитрий?
Спустя 5 минут, 36 секунд (7.04.2011 - 19:48) alex12060 написал(а):
Допустим, у тебя есть строка:
Привет, у меня есть тут слова
Получается, слова это:
Привет
меня
есть
тут
слова
Я прав?
Привет, у меня есть тут слова
Получается, слова это:
Привет
меня
есть
тут
слова
Я прав?
Спустя 6 минут, 54 секунды (7.04.2011 - 19:55) panacea написал(а):
Да. Прав. Только У забыл. Предложений несколько и слов в предложениях разное количество. Слова разделены пробелом, знаков препинаний нет. Мне надо последнее слово разукрасить. Например <fontами или еще как нибудь....
Спустя 27 минут, 32 секунды (7.04.2011 - 20:23) alex12060 написал(а):
На быструю руку накидал.
<?php
error_reporting(E_ALL & ~ E_NOTICE);
header("Content-type: text/html; charset=windows-1251");
$key = preg_split("/[\s,]+/", "hypertext language, programming is a null");
//echo $key;
function LastWord($arr) {
if (!is_array($arr)) return false;
for($i=0; $i<sizeof($arr); ++$i) {
if (strlen($arr[$i]) > 1) {
$tmp = '<font color="green">'.substr($arr[$i], -1).'</font>';
$str[] = substr($arr[$i], 0, strlen($arr[$i]) - 1).$tmp;
} else {
$str[] = $arr[$i];
}
}
return $str;
}
//$array = array_map("LastWord", $key);
$arr = LastWord($key);
foreach ($arr as $str) {
echo $str.'<br />';
}
die();
?>
Спустя 1 час, 35 минут, 12 секунд (7.04.2011 - 21:58) panacea написал(а):
Оху Ё...у меня разрыв шаблона...чинюсь....но за работу плюсик поставил все равно...спасибо.
Спустя 3 минуты, 25 секунд (7.04.2011 - 22:01) Mirexzpalich написал(а):
А так красивее =)
$str = "Привет! Мы будем разукрашивать МЕНЯ.";
$slovo = strrchr($str,' ');
$str = str_replace($slovo,'',$str);
$slovo = '<font color="red">'.$slovo.'</font>';
$str .=' '.$slovo;
echo $str;
Спустя 41 минута, 13 секунд (7.04.2011 - 22:42) panacea написал(а):
О, это уже по проще будет, но работает не понятно как-то. вставляет куда попало теги. Не пойму в чем причина. Может это не пробел, а \n или \r?
Спустя 2 минуты, 22 секунды (7.04.2011 - 22:45) Mirexzpalich написал(а):
Так.... покажи как код.
Спустя 10 минут, 52 секунды (7.04.2011 - 22:56) panacea написал(а):
Пляха муха не получаеццо...вот строка
Нал.EUR СПб.
23:33
40.253
40.456 <font color="green"></font>
в конце еще какой то пробел, хотя я строчку trim ом лечил...странно
так тоже пытал $slovo = strrchr($str,'\n\r'); Не помогает
Нал.EUR СПб.
23:33
40.253
40.456 <font color="green"></font>
в конце еще какой то пробел, хотя я строчку trim ом лечил...странно
так тоже пытал $slovo = strrchr($str,'\n\r'); Не помогает
Спустя 4 минуты, 9 секунд (7.04.2011 - 23:00) Mirexzpalich написал(а):
Чет я не вкуриваю....
Так. напиши что у тебя на входе. И что должно быть на выходе. строки возьми в кавычки
Так. напиши что у тебя на входе. И что должно быть на выходе. строки возьми в кавычки
Спустя 12 минут, 3 секунды (7.04.2011 - 23:12) panacea написал(а):
Эх...Обманул я всех, тут не пробел разделитель, а видимо символ новой строки. Но это не должно сильно сказаться на производительности функции.
Вход:
"Нал.EUR СПб.
23:33
40.253
40.456"
Выход сейчас:
"Нал.EUR СПб.
23:33
40.253
40.456 <font color="green"></font>"
Должно быть так:
"Нал.EUR СПб.
23:33
40.253
<font color="green">40.456</font>"
Вход:
"Нал.EUR СПб.
23:33
40.253
40.456"
Выход сейчас:
"Нал.EUR СПб.
23:33
40.253
40.456 <font color="green"></font>"
Должно быть так:
"Нал.EUR СПб.
23:33
40.253
<font color="green">40.456</font>"
Спустя 1 минута, 56 секунд (7.04.2011 - 23:14) Mirexzpalich написал(а):
Тада в $slovo = strrchr($str,''); сделай перевод строки. Самый простой способ тупо нажать кнопочку ENTER
Но правильнее :
$str = "Привет!
Мы будем
разукрашивать
МЕНЯ.";
$slovo = strrchr($str,'
');
$str = str_replace($slovo,'',$str);
$slovo = '<font color="red">'.$slovo.'</font>';
$str .=$slovo;
echo $str;
Но правильнее :
$slovo = strrchr($str,"\r\n");если конечно у тебя Windows
Спустя 13 минут, 50 секунд (7.04.2011 - 23:28) panacea написал(а):
Да хрюша. И так и сяк попробывал. Результат один
"Нал.EUR СПб.
00:17
40.163
40.621<font color="red"></font>"
Не знаю даже в чем дело...вот код:
$str=trim(strip_tags($str));
$slovo = strrchr($str,"\r\n");
$str = str_replace($slovo,'',$str);
$slovo = '<font color="'.$rgb.'">'.$slovo.'</font>';
$str .=$slovo;
"Нал.EUR СПб.
00:17
40.163
40.621<font color="red"></font>"
Не знаю даже в чем дело...вот код:
$str=trim(strip_tags($str));
$slovo = strrchr($str,"\r\n");
$str = str_replace($slovo,'',$str);
$slovo = '<font color="'.$rgb.'">'.$slovo.'</font>';
$str .=$slovo;
Спустя 9 минут, 17 секунд (7.04.2011 - 23:37) Mirexzpalich написал(а):
Блин... Озадачил... У меня все отлично работает.
А так $slovo = strrchr($str,"\r");
А так $slovo = strrchr($str,"\r");
Спустя 2 минуты, 19 секунд (7.04.2011 - 23:39) panacea написал(а):
О, блин ща поменял в Нотпаде на юниксовскую новую строку 0Ah и сделал по первому варианту и пошло, нашелся все таки последний "пробел". До этого досовская стояла 0Dh и с ней не искалось почему то.
Спустя 14 минут, 32 секунды (7.04.2011 - 23:54) panacea написал(а):
Вообщем вроде работает и ладно. Всем плюсики поставил. Отличная работа. Огромное спасибо.
Спустя 9 часов, 34 минуты, 11 секунд (8.04.2011 - 09:28) dima4321 написал(а):
http://php.su/functions/?str-word-count
потом count($array);
потом нужное слово $slovo=count($array)-1
потом
http://php.su/functions/?str-replace
если слово вдруг в тексте идет несколько раз тогда еще пару функций.))
потом count($array);
потом нужное слово $slovo=count($array)-1
потом
http://php.su/functions/?str-replace
если слово вдруг в тексте идет несколько раз тогда еще пару функций.))