<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">Значи имам следният проблем:
 
 
 
  Код:
 <?php
$file=file_get_contents ('./име_на_файл');
$new_file = str_replace('текст', 'текст1', $file);
unlink('./име_на_файл');
$handle=fopen('име_на_файл','a');
fwrite($handle, $new_file);
fclose($handle);
?>  
 
Проблема на това нещо, е че ако 'текст' е част от някакъв друг текст примерно искам да заместя думата 'app' с думата 'exe', ако някъде във файла има 'apple' ще се получи 'exele'. Целта е да се направи само 1 заместване (или колкото му кажа аз) и да престане.
 
Предварително благодаря.
 
 
 
 <div align="right">Originally posted by The Mask*-*29/03/2004*:* 14:58:38</div id="right">
 
</td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
 
 
 
В PHP 5 функцията има четвърти параметър, с който задаваш броя замени, ама ако си с по-ниска версия без твоя функция не виждам как би станало... Ето ти вариант на функция, ама сега нямам възможност да я тествам - надявам се да работи [ ]:
]:
 
  Код:
 <?php
function str_replace_count($text,$text1,$file,$count)
{
   $newfile = $file;
   $pos = strpos($file,$text);
   if ($pos !== FALSE)
   {
     while ($pos !== FALSE)
     {
         $i = $i + 1;
         $tmp = substr($newfile,$pos+strlen($text));
         $newfile = substr($newfile,0,$pos) . $text1 . $tmp;
         if ($i >= $count) {break;}
         $pos = strpos($newfile,$text);
     }
   }
   return $newfile;
}
$file=file_get_contents ('./име_на_файл');
$n= 5 // (примерно число)
$new_file = str_replace_count('текст', 'текст1', $file, $n);
unlink('./име_на_файл');
$handle=fopen('име_на_файл','a');
fwrite($handle, $new_file);
fclose($handle);
?>