سؤال

لقد حصلت على هذا الرمز من شخص ما ، إنه مثالي تقريبًا لإنشاء خبز ديناميكي ، ولكن هناك القليل من الخلل لأنه يردد فواصل قبل الخبز:

$crumbs = explode("/",$_SERVER["REQUEST_URI"]);
foreach($crumbs as $crumb){
    echo ucfirst(str_replace(array(".php","_"),array(""," "),'>' . $crumb));
}

يردد:

">> المحتوى> مشترك> ملف"

ما أريده أن تبدو

"المحتوى> شائع> 1"

وأيضًا سأقدر بعمق ما إذا كان بإمكان شخص ما أن يخبرني كيف يمكنني إضافة روابط لجميع العناصر الموجودة في الصفيف باستثناء آخر (ملف)؟

شكرًا جزيلاً لكم الجميع ، ساعدني هذا الموقع كثيرًا على تعلم PHP بأمثلة!

هل كانت مفيدة؟

المحلول

ربما سيفعل شيء من هذا القبيل:

// تخلص من الأجزاء الفارغة $ crumbs = array_filter ($ krumbs) ؛

$result = array();
$path = '';
foreach($crumbs as $crumb){
    $path .= '/' . $crumb;
    $name = ucfirst(str_replace(array(".php","_"),array(""," "), $crumb));
    $result[] = "<a href=\"$path\">$name</a>";

}

echo implode(' > ', $result);

محدث

$result = array();
$path = '';
$num = count($crumbs);
for ($j=0; $j<$num; $j++) {
    $crumb = $crumbs[$j];
    if ($crumb == '') {
        continue;   
    }
    $path .= '/' . $crumb;
    $name = ucfirst(str_replace(array(".php","_"),array(""," "), $crumb));
    if ($j < ($num - 1)) {
        $result[] = "<a href=\"$path\">$name</a>";
    } else {
        $result[] = $name;
    }
}

echo implode(' > ', $result);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top