У меня есть строка, примерно такая:
$str ="it is a test string.";
// for more clarification
i t i s a t e s t s t r i n g .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Теперь мне нужно проверить все символы, кратные 4 (плюс первый символ) , например:
1 => i
4 => i
8 => [space]
12 => t
16 => r
20 => .
Теперь мне нужно сравнить их с Y
(Y
- это переменная (символ), например, Y = 'r'
здесь ) [тысяча сто двадцать один]. Поэтому я хочу заменить Y
на X
(X
также является переменной (символом), например, X = 'm'
здесь).
Итак, я хочу получить вывод :
it is a test stming.
Вот мое решение : я могу сделать это с помощью некоторой функции PHP:
strlen($str)
: для подсчета количества символов (с именем $sum
) $sum / 4
: для поиска символов, кратных 4 substr($str, 4,1)
: для выбора конкретного символа (с именем $char
) {здесь есть проблема } if ($char == 'r') {}
: сравнить str_replace('r','m',$char)
: заменить и затем объединить все $char
друг с другом.
Но у моего решения есть две задачи :
substr()
не учитывает [space]
символ (как я уже упоминал выше) Ну, есть какое-то решение? Мне нравится делать это с помощью REGEX. Возможно ли это?