فواصل خط صدى PHP
-
05-07-2019 - |
سؤال
ما الفرق بين و (أعلم أن له علاقة بنظام التشغيل)، وما هي أفضل طريقة لتكرار فاصل الأسطر الذي سيعمل عبر الأنظمة الأساسية؟
يحرر: ردًا على Jarod، سأستخدم ths لتكرار فاصل الأسطر في ملف سجل .txt، على الرغم من أنني متأكد من أنني سأستخدمه في المستقبل لأشياء مثل تكرار HTML makup على الصفحة.
المحلول
\n
هو فاصل أسطر Linux/Unix.\r
هو فاصل أسطر كلاسيكي لنظام التشغيل Mac OS (غير OS X).يستخدم نظام التشغيل Mac OS X نظام التشغيل Unix المذكور أعلاه\n
.\r\n
هو فاصل أسطر Windows.
أنا عادة مجرد استخدام \n
في أنظمة Linux الخاصة بنا ومعظم تطبيقات Windows تتعامل معها بشكل جيد على أي حال.
نصائح أخرى
استخدم ثابت PHP_EOL
، وهو يحدد تلقائيا إلى كسر خط الصحيح لنظام التشغيل الذي النصي PHP يعمل على.
لاحظ أن يعلن هذا الثابت منذ PHP 5.0.2.
<?php
echo "Line 1" . PHP_EOL . "Line 2";
?>
لالتوافق:
if (!defined('PHP_EOL')) {
switch (strtoupper(substr(PHP_OS, 0, 3))) {
// Windows
case 'WIN':
define('PHP_EOL', "\r\n");
break;
// Mac
case 'DAR':
define('PHP_EOL', "\r");
break;
// Unix
default:
define('PHP_EOL', "\n");
}
}
تحتوي إجابة جارود على الاستخدام الصحيح لـ على أنظمة تشغيل مختلفة.وهنا بعض التاريخ:
- ، أو حرف ASCII ذو الرمز العشري 13، يُسمى CR بعد "سطر الإرجاع".
- ، أو حرف ASCII بالرمز العشري 10، يُسمى "السطر الجديد"، أو LF بعد "تغذية السطر".
يعود تاريخ المصطلحين "أحرف الإرجاع" و"تغذية الأسطر" إلى الوقت الذي تم فيه استخدام أجهزة المبرقة بدلاً من المحطات الطرفية المزودة بالشاشة ولوحة المفاتيح.فيما يتعلق بالآلات الكاتبة أو الآلات الكاتبة، فإن "سطر الإرجاع" يعني تحريك المؤشر والعودة إلى العمود الأول من النص، في حين أن "تغذية السطر" تعني تدوير الأسطوانة للوصول إلى السطر التالي.في ذلك الوقت كان التمييز منطقيًا.اليوم أصبحت المجموعات ، ، التي تمثل نهاية سطر من النص عشوائية تمامًا.
ولا التوافق اللازم لPHP_EOL على PHP4.
وتحتاج لتصحيح بيان مور على توفر PHP_EOL ثابت: "... أعلن منذ PHP 5.0.2"
لا، فقد كان حولها منذ PHP 4.3.10. أي شخص لا يزال قيد أي شيء أقل من ذلك لا ينبغي أن يكون في عالم المال على أية حال. اعتبارا من اليوم لا ينبغي لأحد أن يستخدم أي شيء أقل من 5 PHP!