Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2017, 13:48
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Поиск буквы в слове с выводом её порядкового номера
Здравствуйте!
Как можно на PHP найти определенную букву в слове, и вывести порядковый номер её первого вхождения, если такая буква есть, если нет, то вывести "0".
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2017, 14:02
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Да, и главное, без учета регистра.
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2017, 14:10
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

strpos
не правильно считает русские буквы.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2017, 14:18
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Sonya,
$str='СлОво';
echo 'Первая буква «о» встречается в строке «'.$str.'» символом №'.(1+mb_strpos(mb_strtolower($str),'о',0));
//1 + mb_strpos потому, что первый символ слова занимает позицию 0
exit;


Upd. Тут протестировать можно: http://sandbox.onlinephpfunctions.com/
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2017, 14:32
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Большое спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2017, 14:42
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

А как посчитать общее количеств букв "о" в слове "слово".
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2017, 14:47
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Sonya,
$str='СлОво';
echo substr_count(mb_strtolower($str),'о',0);
exit;

Такие вопросы можно тут задавать: https://google.ru/
Ответить с цитированием
  #8 (permalink)  
Старый 20.08.2017, 14:55
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Пыталась, правда через https://yandex.ru. А как в коде
$str='СлОво';
echo 'Первая буква «о» встречается в строке «'.$str.'» символом №'.(1+mb_strpos(mb_strtolower($str),'о',0));
//1 + mb_strpos потому, что первый символ слова занимает позицию 0
exit;

, корректно вывести "0", если буквы "о" нет.
Ответить с цитированием
  #9 (permalink)  
Старый 20.08.2017, 14:59
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Sonya, это имелось ввиду:
$str='СлОво';
$num=mb_strpos(mb_strtolower($str),'о',0);
echo 'Первая буква «о» встречается в строке «'.$str.'» символом №'.($num?++$num:0);
exit;
Ответить с цитированием
  #10 (permalink)  
Старый 20.08.2017, 15:09
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Нет, если этой буквы вообще нет в слове, то выводить "0".
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить буквы в слове правильнее shaltay jQuery 12 07.06.2011 19:43