Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите пожалуйста!! не могу решить задачу! (подсчет глассных в каждой строчке Textarea)
 
 автор: UnlikeAO   (12.08.2008 в 21:10)   письмо автору
 
 

Суть такая: есть <textarea> в него пользователь пишет хокку(японское трехстишье) по следующим правилам: Первая строчка- 5 слогов
Вторая строчка- 7 слогов
Третья строчка- 5 слогов
Когда пользователь заканчивае писать строчку и переходит на новую, слева от <textarea> напротив законченой строки должны появиться либо крестик, либо галочка, в зависимости от того удовлетворяет ли строка условию. Тоесть по сути, надо после перехода на новую строку подсчитать кол-во гласных в строчке и дальше просто If() { } else { }...
Подсчитать общее кол-во глассных в <textarea> у меня получилось, это не сложно
<?php
if(isset($tex)) {
$str=0;
$alf[0]="АЕЁИОУЫЭЮЯаеёиоуыэюя";
for ($j = 0; $j < strlen($tex); $j++) {
for ($i = 0; $i < strlen($alf[0]); $i++) {
if (substr($tex, $j, 1)==substr($alf[0], $i, 1)) {
$str++;
}
}
}
echo $str;
}
?>
<form name="hokku" method="post" action="hcheck.php" >
<textarea name="tex" cols="35" rows="6"></textarea>
<input type="submit" value="check" />
</form>

Вопрос как подсчитать гласные в определенной строчке? или если кто то подскажет хотя бы, как занести значение <textarea> в масив, чтоб в каждую яйчейку по строчке??? Заранее благодарю!!! надеюсь что все понятно излажил))

  Ответить  
 
 автор: DDK   (12.08.2008 в 22:18)   письмо автору
 
   для: UnlikeAO   (12.08.2008 в 21:10)
 

<?
/* Battle 2007 */
$stih 'Это было давно, Касту еще не знали даже в пределах Ростова.
Вова тогда ещё не переехал в Москву из Молдовы.
Тогда ещё даже не было самого Кишинёва.
Не было ни грэндмастера флеша, ни диджея сто восьмого.

Но было слово. Я над водою носился словно овод.
Было холодно, темно, скучно и беспонтово.
Я сказал: "Да будет свет!", и, прикинь, прокатило!
В небе тот час запылало светило.

Бвгд жз клмн прст фхцч.'
;
/* Battle 2007 */

$stih explode("\n"$stih);

echo 
'<table>';
foreach(
$stih as $cur_string
{
    if(!empty(
$cur_string))
    {
        if (
preg_match_all('/([аеёиоуыэюя])/si'$cur_string$resultPREG_PATTERN_ORDER)) {
            
$kolichestvo_glasnyh count($result[0]); // Кол-во гласных в строке, делайте с ней что хотите
            
            /* подсветка гласных в тексте - опционально */
            
$result eregi_replace('([аеёиоуыэюя])''<u><i><font color="#0000FF">\\1</font></i></u>'$cur_string);
            
/* подсветка гласных в тексте - опционально */
            
            
echo '<tr><td>' $result '</td><td>[гласных в строке: ' $kolichestvo_glasnyh ']</td></tr>';
        } else {
            echo 
'<tr><td>' $cur_string '</td><td>[гласных в строке: нет]</td></tr>';
        }
    } else {
        echo 
'<tr><td colspan="2" align="center"><i><font color="#808080">пустая строка</font></i></td></tr>';
    }
}
echo 
'</table>';

?>


Результат выполнения: _http://etenclub.ru/ddk/misc/kolvo_glasnyh.php

  Ответить  
 
 автор: AcidTrash   (12.08.2008 в 22:34)   письмо автору
 
   для: DDK   (12.08.2008 в 22:18)
 

Если уж так, то лучше использовать preg_replace.
 $result = preg_replace('#([аеёиоуыэюя])#i', '<u><i><font color="#0000FF">\\1</font></i></u>', $cur_string);

  Ответить  
 
 автор: DDK   (12.08.2008 в 22:37)   письмо автору
 
   для: AcidTrash   (12.08.2008 в 22:34)
 

А в чём такая принципиальность? :)

  Ответить  
 
 автор: AcidTrash   (12.08.2008 в 22:43)   письмо автору
 
   для: DDK   (12.08.2008 в 22:37)
 

>А в чём такая принципиальность? :)
ereg с новыми версиями PHP уйдет в небытия.

  Ответить  
 
 автор: DDK   (12.08.2008 в 22:44)   письмо автору
 
   для: AcidTrash   (12.08.2008 в 22:43)
 

На 5-ке вроде работает , оно и хорошо :)

  Ответить  
 
 автор: UnlikeAO   (12.08.2008 в 23:23)   письмо автору
 
   для: DDK   (12.08.2008 в 22:18)
 

Гениально! Спасибо!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования