На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Дополнения к правилам (только для данного раздела)
- Используйте подсветку синтаксиса при выделении исходного кода;
- В описании темы обязательно укажите язык программирования;
- Прежде чем задать вопрос, обязательно воспользуйтесь поиском и загляните в FAQ раздела.
- Если вопрос касается серверного ПО, указывайте ОС.
- Если вопрос касается ASP.NET то лучше будет задать его в соответствующем разделе. Там вы сможете получить ответ намного быстрее.

Модераторы: Serafim, fatalist
  
> Опять регулярки , Небольшая проблема с регулярками
    Мне нужно разбить текст по правилу:
    есть текст, длиной, скажем 100 символов (включая пробелы). Нужно выделить куски, скажем не больше 30 сомволами, но текст резать нужно по последнему проблу, который встретится в этих 30 символах
      регулярное выражение на ум не приходит, но можно эту проблему решить и другим способом:
      ExpandedWrap disabled
         
        <?php
          $text = "eta peremennaia soderzhit obrabativaemii tekst";
          $maxchars = 30; //max dlina kuska teksta
          $lines[0] = ""; //massiv poluchivshihsa strok
          $linenumber = 0; //nomer tekushei obrabativaemoi stroki
          
          $words = explode(" ",$text);  //razbivaetm tekst na slova
          
          foreach ($words as $oneword) {  //perebiraem slova
         
              if (strlen($oneword)+strlen($lines[$linenumber]+1)<=$maxchars) {  //esli dlina_slova+dlina_stroki+probel<=max_simvolov_vstoke
                $lines[$linenumber] .= " " . $oneword;  //dobavliaem slovo k stroke
              }
              else {  //v protivnom sluchae stroka perepolnena
                $linenumber++;  //perehodim n asleduiushuiu stroku
                $lines[$linenumber] = $oneword;  //dobavliaem slovo
              };
         
          };
         
          foreach ($lines as $line) {  //vivodim na ekran che poluchilos
            echo $line; echo "<br>";
          };
        ?>
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0402 ]   [ 15 queries used ]   [ Generated: 2.05.24, 23:28 GMT ]