فعلاً شكلك موت الموضوع , حاحل السؤال التانى بإستخدام ereg_replace لا ممكن افكر فى حاجة تانية ..
فعلاً شكلك موت الموضوع , حاحل السؤال التانى بإستخدام ereg_replace لا ممكن افكر فى حاجة تانية ..
__________________
سبحان الله وبحمده ... سبحان الله العظيم.
إقرأ .. لتتعلم
[AJAX] سكربت إتصل بنا (ديف كونتاكت) النسخة 2.3.2
للتواصل ..
Developer :
هههههههههههههههه
المطلوب تنفيذ الفنكشن بدون استخدام فنكشن مماثلة
يبقى معملناش حاجة
شكرا على السؤال الجميل Egyptechno .. هذا حلي :
لكن بعد اعاده النظر اكتشفت ان فيه طريقة افضلكود PHP:
function str_replacei($search="",$replace="",$string="")
{
if(!$string) die('IllegalArgumentException');
$positions = array();
$stringsize = strlen($string);
$searchsize = strlen($search);
for($i=0;$i < $stringsize ; $i += $searchsize )
{
$pos = strpos($string,$search,$i);
if(!is_bool($pos) && !in_array($pos,$positions))
{
$positions[] = $pos;
}
}
$i = count($positions);
while($i--)
{
$pos = $positions[$i];
$next = substr($string,$pos+$searchsize);
$prev = substr($string,0,$pos);
$string = $prev . $replace . $next;
}
return $string;
}
كود PHP:
function str_replaceii($search="",$replace="",$string="")
{
if(!$string) die('IllegalArgumentException');
if(!strpos($string,$search)) return false;
$searchsize = strlen($search);
do
{
$pos = strpos($string,$search);
$next = substr($string,$pos+$searchsize);
$prev = substr($string,0,$pos);
$string = $prev . $replace . $next;
}while($pos != false);
return $string;
}
تفضل يا باشا
قمت ببرمجة الدالة وساعدني اخي اشرف السمهوري كثيرا في الاقتراحات والدالة حاليا تشمل كل جوانب str_replace بفضل اللهكود PHP:
/**
* str_replace_n() - A function to replace strings
*
* by Pal Coder and Ashraf Samhouri
*
* @param $search (string, array)
* @param $replace (string, array)
* @param $subject (string, array)
* @param $count int
* @return $subject, the new string or new array after it replaced
*/
function str_replace_n($search, $replace, $subject, &$count = 0)
{
if ($search === null || $subject === null) {
return false;
}
$count = 0;
if (is_array($search)) {
$search = array_values($search);
if (is_array($replace)) {
$replace = array_values($replace);
}
if (is_array($subject)) {
$subject = array_values($subject);
for ($n = 0, $x = count($subject); $n < $x; $n++)
{
for ($i = 0, $c = count($search); $i < $c; $i++)
{
$value = $search[$i];
$pos = strpos($subject[$n], $value);
if ($pos !== false) {
$before = substr($subject[$n], 0, $pos);
$after = substr($subject[$n], $pos + strlen($value), strlen($subject[$n]) - $pos);
}
$count++;
$subject[$n] = $before.(is_array($replace) ? (isset($replace[$i]) ? $replace[$i] : '') : $replace).$after;
}
}
} else {
for ($i = 0, $c = count($search); $i < $c; $i++)
{
$value = $search[$i];
$pos = strpos($subject, $value);
if ($pos !== false) {
$before = substr($subject, 0, $pos);
$after = substr($subject, $pos + strlen($value), strlen($subject) - $pos);
}
$count++;
$subject = $before.(is_array($replace) ? (isset($replace[$i]) ? $replace[$i] : '') : $replace).$after;
}
}
} else {
if (is_array($subject)) {
$subject = array_values($subject);
for ($n = 0, $x = count($subject); $n < $x; $n++)
{
$pos = false;
do {
if ($pos !== false) {
$before = substr($subject[$n], 0, $pos);
$after = substr($subject[$n], $pos + strlen($search), strlen($subject[$n]));
$subject[$n] = $before.$replace.$after;
$count++;
}
$pos = strpos($subject[$n], $search);
} while ($pos !== false);
}
} else {
$pos = false;
do {
if ($pos !== false) {
$before = substr($subject, 0, $pos);
$after = substr($subject, $pos + strlen($search), strlen($subject));
$subject = $before.$replace.$after;
$count++;
}
$pos = strpos($subject, $search);
} while ($pos !== false);
}
}
return $subject;
}
:1power:
التعديل الأخير تم بواسطة Pal Coder ; 23-07-2007 الساعة 05:49 AM سبب آخر: تعديل function
__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com
Pal Coder == Palestinian Coder
Flasher
ما شاء الله عليك ..
فكرة قوية وكود رائع ..
الكود الاول تمااااااااام ، الثاني جربته طلعلي شوية اخطاء :S يقوم بوضع ال replace دوما في اول الكلام .. تقريبا علشان ال do يتم تنفيذها مرة واحدة قبل الدخول في while ..
سلمت يداك ..
Pal Coder :
يا سلام عليك ولد !
عملتها بال array كمان .. شيء رائع ، ما توقعت ان احد بيعملها بال array كمان .. بس والله ممتاز
ولكن اعتقد فيه لغبطة بسيطة اذا كان ال search و replace مصفوفات .. لا يقوم بالتعويض عن القيم بشكل صحيح يعني ممكن ياخد العنصر الاول من search ويستبدله بالعنصر الثاني من replace مع ان المفروض عملية التعويض تكون بحسب الترتيب ..
ولكن اذا كان المعطيات ليست مصفوفات .. فهي تعمل بكفاءة ما شاء الله ..
عايزين حد يسأل .. مافي غيري اللي يسأل ؟
أري ان الأسئلة كلها لمادة الرياضيات
نريد ان نتناقش بأسئله لها فائدة بالبرمجه و افكار ممكن تفيدنا كبرمجين بالبرمجه >>> هذا من وجهة نظري
تحياتي ،،
__________________
أحمد عبد الفتاح
www.servmix.com
لمراسلتي : admin@servmix.com
Eng/ Ahmed :
تفضل ..
المشاركة الأصلية كتبت بواسطة Egyptechno
أهلاً بيك Egyptechno
حقيقة ليس ببالي الان اي أساله أطرحها
لكن القصد ان لو فيه شخص مثلاً عنده فكرة بيريد تنفيذها ببرنامجه و صعبه عليه او لم يقدر ان ينفذها .. يطرحها هنا و نحن جميعاً نحاول ان نفكر في الفكره التي يريد تنفيذها و نساعده به .. و بذلك ينتفع و ممكن ننتفع نحن جميعاً من هذه الفكره مستقبلاً ..
تحياتي ،،
__________________
أحمد عبد الفتاح
www.servmix.com
لمراسلتي : admin@servmix.com
لا أعتقد ذلك .. الدالة تقوم بإعطاء العناصر أرقام جديدة من 0 إلى آخر عنصر عن طريق:ولكن اعتقد فيه لغبطة بسيطة اذا كان ال search و replace مصفوفات .. لا يقوم بالتعويض عن القيم بشكل صحيح يعني ممكن ياخد العنصر الاول من search ويستبدله بالعنصر الثاني من replace مع ان المفروض عملية التعويض تكون بحسب الترتيب ..
وعند البحث يقوم باستبدال $search[$i] بـ replace[$i] فكيف له أن يخطئ في الترتيب ؟؟كود PHP:
$array = array_values($array);
أتمنى أن تضع مثالاً يتم معالجته بشكل خاطئ حتى يتم تفادي المشكلة في الدالة ان شاء الله تعالى ...
منتظرين السؤال القادم ..
تحياتي، أشرف السمهوري
السلام عليكم
بما ان الاسئلة في جميع الاشياء التي تتعلق في البرمجة سؤالي هو في Easytemplate خصوصا
مثلا عندي استعلام داخل دوار
كيف يمكن طباعة المتغير في القالب
اريد طباعة
مثال
كيف اطبع اسم الموضوع في القالب 1 داخل الدوار sec علما بمان ان القالب السهل لايدعم هذة الطريقة الا بطريقة واحدةكود PHP:
$section_query = mysql_query("SELECT * From section");
while($section_rows = mysql_fetch_array($section_query))
{
$topic_query = mysql_query("SELECT * From topics where forum_id='".$section_rows['id']."' ");
$topic_rows = mysql_fetch_array($topic_query);
$section_rows[] = $sec;
}
echo $easy->display("1.html");
للتوضيح اريد مثلا طبع
داخل ملف الدواركود PHP:
$topic_rows['topic']
اتمني وصل السؤال
__________________
Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب
Egyptechno راح اجرب الدالة مرة اخرى واشوف وين المشكلة
__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com
Pal Coder == Palestinian Coder
تفضل يا باشا تم تعديل كل الاخطاء التي كانت موجودة
__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com
Pal Coder == Palestinian Coder
لغز بسيط
المدخلات:
عددان صحيحان $x و $y
المطلوب:
طباعة العدد الأكبر على سطر ثم العدد الأصغر على السطر التالي، وبطبيعة الحال في حال تساويهما لا يهم من يأتي أولاً!
بشرط:
عدم استخدام الشروط بجميع أشكالها، دوال الماكس وما شابهها، دوال الترتيب بكافة أنواعها. ولنقل نريد أن تتم العمليتان بتعليمة statement واحدة وإن كانت مركبة.
TheReality :
هل مسموح باستخدام :
كود PHP:
$res = ($x > $y)?$x:$y;
احمد :
عدم استخدام الشروط بجميع أشكالها،