форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / The Matrix Has You / Как взять из переменной определённое количество слов? |
| Автор | Сообщение |
| Serg Участник 1818 |
# Дата: 23 Фев 2006 03:07 Есть переменная, она содержит текст. Как можно сделать, чтобы текст, так сказать, обрезался до определённого количества слов (не букв!)? |
| SergeyA Участник 495 |
# Дата: 23 Фев 2006 03:44 Cчитай пробелы между словами, это позволит тебе сосчитатьслова ![]() |
| Serg Участник 1818 |
# Дата: 23 Фев 2006 04:09 SergeyA, а можно пример? |
| acsid Alfa Guru 2388 |
# Дата: 23 Фев 2006 05:37 Serg щитать по пробелам это бред тк. если человек поставил 2 пробела у тебя получится одно пустое слово.. хм хотя можно потом кадое слово проверить на isset.. |
| Serg Участник 1818 |
# Дата: 23 Фев 2006 05:48 Напишите пример пожалуйста. |
| acsid Alfa Guru 2388 |
# Дата: 23 Фев 2006 05:48 ° Поправил: acsid $var="всякий текст с пробелами ... ...";//---текст $var=trim($var);//---убираем пробелы с конца for ($i =0; $i < count($var); $i++) {//---щитаем строки $count=explode(" ", $var[$i]);//---эксплоидаем строки по пробелам if(isset($count[$i]){//---если это не пробел $get3 =$count[rand(0,count($count)-3)];//---выводим 3ри случайных } } можна так проверить ещё: if($count[$i]!=" "){//---если это не пробел пробуй сам) мне впадлу тестить..) |
| Андрей Алексеевич 2125 |
# Дата: 23 Фев 2006 05:54 ° Поправил: Андрей $string = 'фраза, где считаем слова'; $string = preg_replace( '/([^\r\n|\n]*[ ]{2,})/', ' ', $string ); $array = explode(' ', $string); $koli4estvo_slov = sizeof( $array ); $array_strict = array_splice( $array, $x ); // где $x - макс кол-во слов. $string = implode ( ' ' , $array_strict); // Строка с определённым кол-вом слов. Но тут немного не то - для такого метода, нужно удалить все лишние пробелы... |
| DM53 Участник 232 |
# Дата: 23 Фев 2006 05:54 А я предлагаю через регулярки извратится
<?php $text = 'Есть переменная, она содержит текст. Как можно сделать, чтобы текст, так сказать, обрезался до определённого количества слов (не букв!)?'; //Переменная $i = 5; //Количество слов preg_match_all('/(\S+\s+){'.$i.'}/im',$text,$result); echo $result[0][0]; ?> |
| acsid Alfa Guru 2388 |
# Дата: 23 Фев 2006 05:56 white_pawn для такого метода, нужно удалить все лишние пробелы... ток как определить что они лишние?) |
| Serg Участник 1818 |
# Дата: 23 Фев 2006 05:58 acsid, white_pawn, DM53 Спасибо, друзья ![]() |
| Андрей Алексеевич 2125 |
# Дата: 23 Фев 2006 06:00 ° Поправил: Андрей preg_match_all('/(\S+\s+){'.$i.'}/im',$text,$result); Зачем модификатор i? (Всмысле в этом примере) ток как определить что они лишние?) Всмысле если два и более пробела, то заменить на один. ![]() |
| DM53 Участник 232 |
# Дата: 23 Фев 2006 06:53 А я его везде на всяк пожарный ставлю ![]() |
| Serg Участник 1818 |
# Дата: 23 Фев 2006 07:04 Вот так сработало: <? $pie=explode(" ",$title); $c=count($pie); $anus=""; for ($i=0; $i < $c; $i++) { if ($i==14) { break; } $anus.=" ".$pie[$i]; } echo "$anus"; ?> |
| Андрей Алексеевич 2125 |
# Дата: 23 Фев 2006 10:06 $anus Лол. ![]() |
| smallcms Участник 2754 |
# Дата: 23 Фев 2006 10:29 white_pawn это фигня. раз сутки сидел за скриптом. начал прописывать очередную переменную. что-то не так. присмотрелся: $conf['Для продолжения... ![]() |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:31135, gzipped size:8854 |