|
|
|
| Есть строка примерно такого типа:
ххх1ххх1ууу
Задача: после последнего символа "1" вставить другую строку (что бы получилось ххх1ххх1zzzууу).
На самом деле я понимаю что это элементарно и думаю сделать вот так:
взять строку, найти в ней последнее вхождение символа "1", и создать новую строку из части до единицы (включив ее), дописать необходимую часть и прикруить то, что стоит после.
Может я что-то упускаю, так что поправьте, плиз. Еще желательно данную конструкцию записать в одну строку. | |
|
|
|
|
|
|
|
|
для: sim5
(29.05.2009 в 17:36)
| | Как здесь использовать шаблон не особо понял (как выразить "последнее вхождение подстроки"?). Вот что получилось:
$s = 'xxx1xxx1yyy';
$ipos = strrpos($s, '1');
$istr = ($ipos) ? substr_replace($s, 'zzz.',$ipos,1) : $s;
|
Насколько данный код корректен? | |
|
|
|
|
автор: 976797 (29.05.2009 в 18:56) |
|
|
для: Sun
(29.05.2009 в 18:35)
| | $s = '1xxxxxxyyy'; => ОШИБКА | |
|
|
|
|
|
|
|
для: Sun
(29.05.2009 в 18:35)
| | А выполнить и посмотреть сложно? | |
|
|
|
|
|
|
|
для: Sun
(29.05.2009 в 17:00)
| | Рад всех Вас видеть в добром здравии...
<?php
$str = "xxx1xxx1yyy";
substr_replace($str, "zzz", strrpos($str, "1")+1).substr($str, strrpos($str, "1")+1);
?>
|
| |
|
|
|