اذهب إلى المحتوى

السؤال

نشر (معدل)

حاولات كثيرا ولم اجد حل لها انا لست جيد في php

الكود

<?php
require_once('/config.php');
require_once('includes/url_slug.php'); 
if(isset($_GET['change'])){ header("Location: ".$site_url."/s/".cano($_GET['q'])); }
$search_term = urlencode($_GET['q']);
$save_search = cano($_GET['q']);
$search_title = str_replace("-", " ", $save_search);
$search_title = ucwords($search_title);
?>

اريد وضع  اخر الرابط 

.html

ليصبح الرابط كما يلي

/s/nem.html
انه في الكود المراد التعديل عليه مثل
/s/nem

 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 1
نشر

لإضافة الامتداد ".html" إلى نهاية رابط البحث في الكود الذي قدمته، يمكنك إجراء التعديل التالي:

<?php
require_once('/config.php');
require_once('includes/url_slug.php'); 
if(isset($_GET['change'])){ header("Location: ".$site_url."/s/".cano($_GET['q']).".html"); }
$search_term = urlencode($_GET['q']);
$save_search = cano($_GET['q']);
$search_title = str_replace("-", " ", $save_search);
$search_title = ucwords($search_title);
?>

بهذا التعديل، سيتم إضافة الامتداد ".html" إلى نهاية رابط البحث عند استخدام المتغير $_GET['change'] في الاستدعاء الخاص بالرابط. وبالتالي، سيتم تحويل الرابط من "/s/nem" إلى "/s/nem.html". يجب التأكد من وجود ملف HTML مطابق لاسم الملف في المسار "/s/" لتجنب الأخطاء.

  • 0
نشر
بتاريخ 5 دقائق مضت قال محمد Fahmy:

لإضافة الامتداد ".html" إلى نهاية رابط البحث في الكود الذي قدمته، يمكنك إجراء التعديل التالي:

<?php
require_once('/config.php');
require_once('includes/url_slug.php'); 
if(isset($_GET['change'])){ header("Location: ".$site_url."/s/".cano($_GET['q']).".html"); }
$search_term = urlencode($_GET['q']);
$save_search = cano($_GET['q']);
$search_title = str_replace("-", " ", $save_search);
$search_title = ucwords($search_title);
?>

بهذا التعديل، سيتم إضافة الامتداد ".html" إلى نهاية رابط البحث عند استخدام المتغير $_GET['change'] في الاستدعاء الخاص بالرابط. وبالتالي، سيتم تحويل الرابط من "/s/nem" إلى "/s/nem.html". يجب التأكد من وجود ملف HTML مطابق لاسم الملف في المسار "/s/" لتجنب الأخطاء.

كل الشكر لك بقالي اكثر من ساعة في هذه المشكلة والمشكلة كانت معي لم انتبه لها في 

).

شكرا لك اخي الفاضل

  • 0
نشر

هناك طرق أخرى لإضافة الامتداد ".html" إلى الرابط، وإحدى الطرق البسيطة هي استخدام دالة strcat لدمج النصوص:

<?php
require_once('/config.php');
require_once('includes/url_slug.php'); 
if(isset($_GET['change'])){
  $new_url = $site_url."/s/".cano($_GET['q']);
  $new_url .= ".html";
  header("Location: ".$new_url);
}
$search_term = urlencode($_GET['q']);
$save_search = cano($_GET['q']);
$search_title = str_replace("-", " ", $save_search);
$search_title = ucwords($search_title);
?>

من خلال إنشاء متغير جديد يسمى $new_url وبدمج القيمة cano($_GET['q']) مع النص "/s/" وبعد ذلك دمج النص ".html" إلى النهاية باستخدام عملية الدمج (.). ثم استخدام القيمة المدمجة في عبارة header("Location: ...")، والنتيجة إضافة الامتداد ".html" إلى الرابط المطلوب.

  • 0
نشر

بجانب المقترح، يمكنك الاعتماد على جافاسكربت لإضافة الامتداد .html بعد تصيير الصفحة من طرف الخادم. 

var currentUrl = window.location.href;
var newUrl = currentUrl + '.html';
window.location.replace(newUrl);

يرجى الانتباه ان مثل هاته الطريقة قد تؤدي الى تعطيل بعض عمليات التوجيه التي تعتمد على مسارات نسبية realtive paths.

  • 0
نشر

هناك العديد من الطرق المختلفة لإضافة امتداد ".html" إلى رابط PHP Location، ولكل طريقة ميزاتها وعيوبها. وهناك بعض الفروق الرئيسية بين الطرق المختلفة، وهي كالتالي:

  • دالة str_replace(): تستخدم دالة str_replace() لاستبدال جزء من النص بآخر. وهذه الطريقة بسيطة وسهلة الفهم، ولكنها لا تعمل إذا كان الرابط يحتوي على أجزاء متغيرة.
  •  دالة pathinfo(): تستخدم دالة pathinfo() للحصول على معلومات حول مسار الرابط، مثل اسم الملف والمجلد الذي يحتوي عليه. وهذه الطريقة تعمل بشكل جيد مع الرابط الثابت الذي لا يحتوي على أجزاء متغيرة.
  • دالة explode(): تستخدم دالة explode() لتقسيم النص إلى أجزاء باستخدام محدد معين، في هذه الحالة، الشرطة الخلفية "/". وهذه الطريقة تعمل بشكل جيد مع الرابط الثابت والمتغير.
  • إضافة الامتداد ".html" مباشرة إلى الرابط: هذه الطريقة هي الأبسط والأسرع، ولكنها تعمل فقط إذا كان الرابط الذي تحاول تغييره ثابتًا ولا يحتوي على أجزاء متغيرة.
  • دالة preg_replace(): تستخدم دالة preg_replace() لاستبدال جزء من النص باستخدام تعبير منتظم. وهذه الطريقة تعمل بشكل جيد مع الرابط الثابت والمتغير.

لذلك، يجب عليك اختيار الطريقة التي تتناسب مع طبيعة التطبيق الذي تعمل عليه وأنواع الروابط التي تحاول تغييرها.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...