[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Логика и две буквы
Гость_Jallvar
В общем есть слова. Случайно сгенерированные. В них нужно найти две глассные или две согласные, которые стоят рядом. К примеру.
Jallvar - две л. нужно определить также их позиции.
Как быть? Буквы могут быть разные. Регулярками я не представляю, как это сделать
Игорь_Vasinsky
алфавит какой? кириллица или латинский?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
Так же как и с гласными ;)
  $string = 'Если вы заметили неточности в описании товара, пожалуйста, сообщиите нам удобным для вас спосообом'; 
$letters = array('аа', 'ее', 'ёё', 'ии', 'оо', 'уу', 'ээ', 'юю', 'яя');

foreach($letters as $twins){
if(strpos($string, $twins))
$result[$twins] = strpos($string, $twins);
}

if(isset($result))
foreach($result as $twins=>$pos)
echo 'Пара: <i>'.$twins .'</i> position: <i>'.$pos.'</i><br />';


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Winston
Цитата (Игорь_Vasinsky @ 27.02.2013 - 20:50)
if(strpos($string, $twins))

А если будет возвращена нулевая позиция? smile.gif
Игорь_Vasinsky
у меня не срабатывает stripos )))

я люблю костыли :lol:

  $string = 'ЕЕсли вы заметили неточности в описании товара, пожалуйста, сообщиите нам удобным для вас спосообом'; 
$letters = array('аа', 'ее', 'ёё', 'ии', 'оо', 'уу', 'ээ', 'юю', 'яя');
$string = '-'.mb_strtolower($string, 'utf-8');

foreach($letters as $twins){
$pos = (stripos($string, $twins) === false) ? false : (stripos($string, $twins) == 1 ? 0 : strpos($string, $twins)-1);

if($pos !== false) //Было замечено, что запись вида if($val) - не интерпретируется как !== false на какой то версии php
$result[$twins] = $pos;
}

if(isset($result))
foreach($result as $twins=>$pos)
echo 'Пара: <i>'.$twins .'</i> position: <i>'.$pos.'</i><br />';


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.