• 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
یافتن موارد خاص
#1
با سلام
در نظر دارم که در متنی که شامل کلمات خاصی بدون چینش منظم است جستجو کرده و هر کدام از آن کلمات خاص را که میابد را با اعداد تصاعدی شروع به جایگزینی کند.
مثلا **** را از ابتدای متن جستجو کرده و اولی را با عدد یک و دومی را با عدد دو و... جایگزین کند.
با تشکر
  پاسخ
تشکر شده توسط :
#2
چون یه مقدار کدش سخت بود بر خلاف رویه اصلی سایت کدش رو واستون می زارم
کد پی‌اچ‌پی:
$str="* iranphp.org *  is * best * site";
$i=1;
while(
true){
    
$str=preg_replace("/\*/"$i$str,1,$count);
    if(!
$count){
        break;
    }
    
$i++;

  پاسخ
تشکر شده توسط : molana janbozorgi
#3
با سلام و تشکر
بنده خودم هم یک راه حل نوشتم که شاید برای دیگر دوستان مبتدی مثل بنده مفید باشه:
کد پی‌اچ‌پی:
function str_replace1($mainMatn$replace$times$number) {
    
$number=$number-$times;
    
$pieces explode($replace$mainMatn);
    for(
$i=0$i<$times$i++) {
        
$reStr$reStr.$pieces[$i].++$number;
    }
    
$reStr$reStr.$pieces[$times];
    return(
$reStr);
}
    
$results = array();
    
$num0;
    if(isset(
$_POST['submit'])) { 
        
$char=$_POST['txtChar'];
        
$add=$_POST['txtAdd'];
        if(
$char=="") { 
            echo 
"<script languge=javascript> alert(\"لطفا عبارت مورد نظر جهت تبديل را تعيين نماييد\"); </script>";
            exit;
        }
        
$dirHandleopendir($add);
        while ((
$file readdir($dirHandle))!==false) {
            if(
$file!= "." && $file!= "..") {
                
$results[i]= $file;
                
$addfile$add."/".$results[i];
                
$fpr fopen($addfile"r");
                
$fpw fopen($add."/New".$results[i], "w");
                while (!
feof($fpr)) {
                    
$buffer fgets($fpr);
                    
$val=substr_count($buffer$char); 
                    
$num$num+$val;
                    switch (
$val) {
                        case 
0:
                            
fputs($fpw,$buffer);
                        break;
                        default:
                            
fputs($fpw,str_replace1($buffer$char$val$num));
                        break;
                    }
                }   
                
fclose($fpr);     
                
fclose($fpw);     
            }
        }
        
closedir($dirHandle);
    } else { }
[/
code
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان