|
|
|
| Функция str_replace() Заменяет все вхождения старого текста на новый текст. А как быть если мне нужно заменить только первое вхождение текста?
Заранее спасибо | |
|
|
|
|
|
|
|
для: serg_b
(12.03.2012 в 15:46)
| | попробуйте strpos() и substr_replace() либо через функции регулярных выражений preg_replace() | |
|
|
|
|
|
|
|
для: serg_b
(12.03.2012 в 15:46)
| | в 5ой версии пхп у str_replace появился 4ый аргумент (int) count который и указывает сколько замен производить. | |
|
|
|
|
|
|
|
для: Sfinks
(12.03.2012 в 22:13)
| |
<?php
$string = "раз раз раз, Вася передаст";
$string = str_replace("раз", "<b>раз</b>", $string, 1);
echo $string;
?>
|
Выдает фатальную ошибку, версия PHP 5.2, как быть?
Fatal error: Only variables can be passed by reference in Z:\home\example\www\string.php on line 3 | |
|
|
|
|
|
|
|
для: serg_b
(14.03.2012 в 14:51)
| | count, это количество произведенных замен, а не сколько раз заменить вхождение.
Возвращаемое значение по ссылке, потому и выдает ошибку. | |
|
|
|
|
|
|
|
для: serg_b
(14.03.2012 в 14:51)
| | Сорри, 4ый аргумент не на то указывает. Я ман до нужного места не дочитал ) Task прав. | |
|
|
|
|
|
|
|
для: Sfinks
(14.03.2012 в 15:48)
| | Вот в прег_реплэйс этот аргумент есть:
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
| limit - Максимально возможное количество замен каждого шаблона для каждой строки subject. По умолчанию равно -1 (без ограничений). | |
|
|
|