За последние 24 часа нас посетили 22250 программистов и 1166 роботов. Сейчас ищут 637 программистов ...

Разбиение строки на слова с дальнейшим их преобразованием - PHP

Тема в разделе "PHP для новичков", создана пользователем PS5124, 4 янв 2018.

Метки:
  1. PS5124

    PS5124 Новичок

    С нами с:
    4 янв 2018
    Сообщения:
    1
    Симпатии:
    0
    Есть три строки.
    Тык
    Хочу вывести их так, чтобы каждое четное слово выводилось жирным.
    Вывод осуществляю через
    PHP:
    1. while(list($i) = mysql_fetch_row($dbResult))
    Итого 1 строка получается идеально, остальные обрезаны.
    Результат вывода
    Если вывод осуществлять не из бд,а создать переменную самому без цикла,допустим $str="one two three four" и т д, работает отлично. Вопрос почему?
    Так же поиск слов осуществляю через
    PHP:
    1. $pos=strpos($stroka," ");
    по пробелу, далее обрезая из исходной строки нужное кол-во символов.
    Но вот незадача,последнее слово без пробела, следовательно приходиться добавлять в конец строки 2 пробела. Почему два? из-за этого
    PHP:
    1. $stroka=mb_substr($stroka,$per,-1);
    Полный цикл обрезания строк на слова.
    PHP:
    1.                     while(list($i) = mysql_fetch_row($dbResult))
    2.                     {
    3.  
    4.                     $flag=1;
    5.                     $stroka=$i;
    6.                     print("<tr><td>\n");
    7.                     for($c=1;$c<=5;$c++){
    8.  
    9.                
    10.                         $flag++;
    11.                         $per=0;
    12.                        
    13.                         if($flag%2==0)
    14.                         {
    15.                             $pos=strpos($stroka," ");
    16.                             $str1=mb_substr($stroka,$per,$pos);
    17.                              
    18.                             printf("&nbsp%s",$str1);
    19.  
    20.                         }
    21.                         else
    22.                         {
    23.                             $stroka=mb_substr($stroka,$pos+1,-1);
    24.                             $pos2=strpos($stroka," ");
    25.                            
    26.                             $str2=mb_substr($stroka,$per,$pos2);
    27.                             printf("<b>&nbsp%s</b>",$str2);
    28.                             $stroka = $i;
    29.  
    30.                         $per=$pos2+$pos+2+$per2;
    31.                         $stroka=mb_substr($stroka,$per,-1);
    32.                         $per2=$per;
    33.                            
    34.                         }
    35.  
    36.                        
    37.                     }
    38.                     print("</td></tr>\n");    
    39.                        
    40.                    
    41.  
    42.  
    43.  
    44.  
    45.  
    46.                     }
    P.S. В цикле for идет пересчет пол кол-ву слов. Хочу реализовать подсчет слов функцией
    PHP:
    1. $kol=str_word_count($str);
    Разумно? Кириллицу пока не трогаю.