Str_split vs кириллица - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Thu, 16 Jan 2025 03:14:19 +0300 Ant0ha +1, всем спасибо за помощь, темка клосед ) https://visavi.net/topics/14255/254948 Str_split vs кириллица KOZZ Sat, 02 Oct 2010 02:43:20 +0400 Сообщения https://visavi.net/topics/14255/254948 300 слов https://visavi.net/topics/14255/254477 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 10:14:38 +0400 Сообщения https://visavi.net/topics/14255/254477 12, сколько там слов на страницу? https://visavi.net/topics/14255/254463 Str_split vs кириллица KOZZ Fri, 01 Oct 2010 09:54:20 +0400 Сообщения https://visavi.net/topics/14255/254463 <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> вот пример вывода по словам: <a href="http://demo.mobilecms.ru/lib/read_book.php?book_id=1" target="_blank" rel="nofollow">http://demo.mobilecms.ru/lib/read_book.php?book_id=1</a> https://visavi.net/topics/14255/254458 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 09:43:00 +0400 Сообщения https://visavi.net/topics/14255/254458 10, а можно в принципе и поизвращаться, считать количество букв в каждом слове, и выводить слова, пока не достигнет нужного количества букв ) хотя это уже изврат , согласен <img src="https://visavi.net/uploads/stickers/crazy.gif" alt="crazy"> https://visavi.net/topics/14255/254457 Str_split vs кириллица KOZZ Fri, 01 Oct 2010 09:42:01 +0400 Сообщения https://visavi.net/topics/14255/254457 угу, по количеству слов<br> <br> &gt; слова бывают разной длины<br> большой роли не сыграет ;-) https://visavi.net/topics/14255/254456 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 09:39:19 +0400 Сообщения https://visavi.net/topics/14255/254456 8, а если делить по пробелам, то как выводить? по количеству слов? слова бывают разной длины. https://visavi.net/topics/14255/254454 Str_split vs кириллица KOZZ Fri, 01 Oct 2010 09:30:54 +0400 Сообщения https://visavi.net/topics/14255/254454 substr() не гуд:<br> 1. она не дружит с uft8, почти везде в конце страницы будешь видеть квадратики<br> 2. пернос слов не всегда будет корректным, даже если решишь проблему 1 (допустим через mb_substr()), например, на одной странице вконце будет <strong>пр</strong> на другой вначале <strong>ограммирование</strong> https://visavi.net/topics/14255/254449 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 09:22:38 +0400 Сообщения https://visavi.net/topics/14255/254449 ну с таким же успехом можно делить по буквам и выводить по количеству символов, либо (недавно дошло) делить через substr(), и вручную заносить в массив https://visavi.net/topics/14255/254432 Str_split vs кириллица KOZZ Fri, 01 Oct 2010 08:42:46 +0400 Сообщения https://visavi.net/topics/14255/254432 точно) https://visavi.net/topics/14255/254426 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 08:26:36 +0400 Сообщения https://visavi.net/topics/14255/254426 #4. Одинаково мыслим :-D <br> + Практично и компактно.. https://visavi.net/topics/14255/254425 Str_split vs кириллица Ник Fri, 01 Oct 2010 08:25:35 +0400 Сообщения https://visavi.net/topics/14255/254425 гг, опоздал немного я) https://visavi.net/topics/14255/254424 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 08:24:10 +0400 Сообщения https://visavi.net/topics/14255/254424 дели по словам, а не по символам - делать легче, результат качественней<br> <br> $words = explode(&#039; &#039;, $text);<br> <br> и тд и тп https://visavi.net/topics/14255/254423 Str_split vs кириллица Ant0ha Fri, 01 Oct 2010 08:23:31 +0400 Сообщения https://visavi.net/topics/14255/254423 Хм.. собственно говоря,а обязательно тебе таким методом необходимо текст разбивать? Не проще ли просто разделить текст по пробелам и выводить? Конечно взгляд со своей колокольни и может немного отходит от поставленной задачи но все же :-D<br> <pre class="prettyprint"> $text = explode(&#039; &#039;,&#039;этот текст надо разделить на страницы&#039;); </pre> Ну а дальше получаешь массив из слов и выводишь.. https://visavi.net/topics/14255/254422 Str_split vs кириллица Ник Fri, 01 Oct 2010 08:22:12 +0400 Сообщения https://visavi.net/topics/14255/254422 сама функция str_split() с кириллицей в utf-8 не дружит, взял функцию из комментариев в php.net, так же тут мне советовали ее же.<br> Но то ли у меня руки из ануса, то ли функция реально неадекватно себя ведет <br> насколько я понял, за количество символов, на которые будет разбиваться строка, отвечает переменная $split<br> допустим, я использую свой же код из 39 поста, в самом начале втыкаю эту функцию, и присваиваю $split значение 10 (для примера).<br> <pre class="prettyprint">&lt;? function utf8_str_split($str) { // place each character of the string into and array $split=10; $array = array(); for ( $i=0; $i &lt; strlen( $str ); ){ $value = ord($str&#91;$i]); if($value &gt; 127){ if($value &gt;= 192 &amp;&amp; $value &lt;= 223) $split=2; elseif($value &gt;= 224 &amp;&amp; $value &lt;= 239) $split=3; elseif($value &gt;= 240 &amp;&amp; $value &lt;= 247) $split=4; }else{ $split=1; } $key = NULL; for ( $j = 0; $j &lt; $split; $j++, $i++ ) { $key .= $str&#91;$i]; } array_push( $array, $key ); } return $array; } $text = &#039;этот текст надо разделить на страницы&#039;; $symb_onpage = 10; # количество символов на страницу $page = (isset($_GET&#91;&#039;page&#039;])) ? abs(intval($_GET&#91;&#039;page&#039;])) &#58; 0; # номер страницы, дописывать в адресную строку (если не 0) $arr = utf8_str_split($text,$symb_onpage); if(array_key_exists($page,$arr)) { if(trim($arr&#91;$page]) !== &#039;&#039;){echo trim($arr&#91;$page]);} } else {echo &#039;Страницы не существует!&#039;;} # Навигация if(count($arr) !== 0 &amp;&amp; count($arr) !== 1){ echo &#039;&lt;br/&gt;&#039;; if($page != 0){echo &#039;&lt;a href=&quot;?page=&#039;.($page-1).&#039;&quot;&gt;Назад &lt;/a&gt;&#039;;echo &#039;&#91;&#039;.($page+1).&#039;]&#039;;} if($page != count($arr)-1){echo &#039;&lt;a href=&quot;?page=&#039;.($page+1).&#039;&quot;&gt; Вперед&lt;/a&gt;&#039;;} } ?&gt;</pre> <br> а в ответ получаю разделенный по 1 символу массив. (вместо 10, т.е. от моих телодвижений ничего не изменилось)<br> в чем дело то? https://visavi.net/topics/14255/254408 Str_split vs кириллица KOZZ Fri, 01 Oct 2010 07:11:40 +0400 Сообщения https://visavi.net/topics/14255/254408