بسم الله الرحمن الرحيم
في البداية أود أن أعبر لكم عن مدى اعجابي الشدييييييييييد بهذا الموضوع
الأكثر من رائع وشيق ومفيد.. فعلا ألغاز برمجية فهو أكثر من ممتاز.. وبصراحه
لقد استفدت منه الكثير الكثير.. فنادر جدا ما نجد مواضيع مفيده بمعنى الكلمة
مثل هذا الموضوع...
كان سبب مشاركتي أني أولا اود أن اشكر كل من ساهم بمشاركة المعلومات
وثانيا حينما قرأت السؤال الذي يطلب عمل دالة شبيه بدالة str_replace ولم
أجد أي شخص تكلم عن دالة الـ explode لذلك كتبت هذه الدالة
كود PHP:
function DSQ8_strReplace($search, $replace, $text, $limit=0) {
if (!strstr($text,$search)||$limit<0||($limit!='0'&&!intval($limit))) { Return 'ERROR'; }
$loopLimit = ($limit>0) ? $limit : substr_count($text,$search);
for($i=0; $i<=$loopLimit-1; $i++) {
$text = explode($search,$text,2);
$text[0] = ($text[0]=='') ? $replace : $text[0].$replace;
$text = $text[0].$text[1];
}
Return $text;
}
وبصراحه لا ادري ما عمل الباراميتر count في الدالة str_replace
لذلك وضعت بديل عنه وهو تحدد عدد الاستبدالات المطلوبة
وللتجربة اكتب التالي
كود PHP:
echo 'استبدال الكل<br />'. DSQ8_strReplace('s','S',$line,0).'<br /><br />';
echo 'استبدال الكل<br />'. DSQ8_strReplace('s','S',$line).'<br /><br />';
echo 'استبدال أول كلمتين<br />'. DSQ8_strReplace('s','S',$line,2).'<br /><br />';
echo 'في حال كان الرقم اصغر من صفر<br />'. DSQ8_strReplace('s','S',$line,-4).'<br /><br />';
echo 'في حال ما اذا كان قيمة الحد غير عددية<br />'. DSQ8_strReplace('s','S',$line,-4).'<br /><br />';
وبصراحه اتمنى أن يصحى هذا الموضوع من جديد.. لأنه مفيد بالفعل
وشكرا للجميع