|
|
|
| Написал небольшой код:
<?php
$str='Если вы хотите узнать, как работает программа, а деморолика и описания нет. Просто посадите за клавиатуру кошку';
$words=str_word_count($str,2);
$pos_words=array_keys($words);
print_r($words);
echo '<br><br>';
print_r($pos_words);
echo '<br><br>';
echo substr($str,0,$pos_words[4]);
?>
|
По идеи результатом должна быть строка: "Если вы хотите узнать", но на самом деле результат таков:
Array ( [0] => Ес [3] => и [5] => вы [8] => х
[10] => тите [15] => узнат [24] => а [27] => раб
[31] => тает [36] => пр [39] => грамма [47] => а
[49] => дем [53] => р [56] => и [58] => а [60] => и
[63] => писани [71] => нет [77] => р [79] => ст
[83] => п [85] => садите [92] => за [97] => авиатуру
[108] => ш [110] => у )
Array ( [0] => 0 [1] => 3 [2] => 5 [3] => 8
[4] => 10 [5] => 15 [6] => 24 [7] => 27 [8] => 31
[9] => 36 [10] => 39 [11] => 47 [12] => 49
[13] => 53 [14] => 56 [15] => 58 [16] => 60
[17] => 63 [18] => 71 [19] => 77 [20] => 79
[21] => 83 [22] => 85 [23] => 92 [24] => 97
[25] => 108 [26] => 110 )
Если вы хо
|
Версия PHP: 5.2.4.
Локаль установлена как: setlocale(LC_ALL,'ru_RU.cp1251');
В чем причина неправильной работы скрипта? | |
|
|
|
|
|
|
|
для: AVS
(23.05.2008 в 15:12)
| | Хм.. Я бы так сделал
<?php
$str='Если вы хотите узнать, как работает программа, а деморолика и описания нет. Просто посадите за клавиатуру кошку';
$words=explode(" ",$str);
for($i=0;$i<4;$i++)
{
echo $words[$i]." ";
}
?>
| : | |
|
|
|
|
|
|
|
для: amigo62
(23.05.2008 в 15:25)
| | Вот такой ещё вариант есть:
<?
echo implode(" ",array_slice(preg_split('|[\s]+|is',$str),0,$n));
?>
|
| |
|
|
|
|
|
|
|
для: AVS
(23.05.2008 в 15:12)
| | Причина неправильной работы вашего скрипта, заключается в правильной работе print_r(). | |
|
|
|