Как заменить строку в тексте?

Статус
В этой теме нельзя размещать новые ответы.

Ragger

Постоялец
Регистрация
14 Июн 2008
Сообщения
166
Реакции
186
PHP:
$text = "REPLACE
1text
2text
REPLACE
3text
REPLACE
4text";
Как заменить второй REPLACE между 2text и 3text?
Чтобы получилось так:
PHP:
REPLACE
1text
2text
REPLACE_WAS_HERE
3text
REPLACE
4text
 
PHP:
$text = "REPLACE
1text
2text
REPLACE
3text
REPLACE
4text";
Как заменить второй REPLACE между 2text и 3text?
Чтобы получилось так:
PHP:
REPLACE
1text
2text
REPLACE_WAS_HERE
3text
REPLACE
4text
Набросал, заменит только второе(или -надцатое) вхождение.
PHP:
function str_replace_word($search, $replace, $subject, $_repl) {
   $i=1;
    $key = 1;
    $kon = 0;
 
    while ( $key ) {
        
        $pos = stripos ( $subject, $search, $kon );
        
        if ($pos !== FALSE) {
            $len_word = strlen ( $replace );
            if ($i==$_repl) {
                
				
                $subject = substr_replace ( $subject,  $replace, $pos, $len_word );
                $key = 0;
                
            } else {
                $kon = $pos + $len_word;
				$i ++;
            }
            
        } else {
            $key = 0;
        }
    }
 
    
    return $subject;
    

}
$text = "REPLACE 
1text 
2text 
REPLACE 
3text 
REPLACE 
4text"; 
echo str_replace_word('REPLACE', 'WHITH', $text, 2)
 
Или так(именно между 2ым и 3им text'ом)
PHP:
echo preg_replace("/(2text)(.*?)(3text)/si",  "\${1}".PHP_EOL."REPLACE_WAS_HERE".PHP_EOL."\$3", $text);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху