PHP

چرا \n یا \t در php کار نمیکنن

در PHP، دستور echo برای نمایش رشته‌ها در مرورگر استفاده می‌شود. اما وقتی از کاراکترهای کنترلی \n برای رفتن به خط بعد استفاده می‌کنید، این کار تنها در خروجی‌های متنی (مثل خط فرمان) مؤثر است. مرورگرها فاصله خطی را از طریق HTML تفسیر می‌کنند، نه کاراکترهای کنترلی مانند \n.

برای نمایش خط جدید در مرورگر، باید از تگ‌های HTML مانند <br> استفاده کنید. کد زیر این مشکل را حل می‌کند:

echo "One line after<br> another line";

در این مثال، مرورگر از تگ <br> برای رفتن به خط بعدی استفاده می‌کند. اگر کد را در محیط خط فرمان یا کنسول اجرا می‌کردید، \n کار می‌کرد، اما در مرورگر باید از عناصر HTML استفاده کنید.

منظور از خروجی‌های متنی (مثل خط فرمان) چیست ؟

برای نمایش متن بدون نیاز به تفسیر HTML، چندین روش وجود دارد که می‌توانید از آن‌ها برای اطمینان از اینکه مرورگر تگ‌های HTML را تفسیر نکند و متن را به صورت خام نمایش دهد، استفاده کنید. در ادامه برخی از این روش‌ها را توضیح می‌دهم:

1. استفاده از تابع htmlspecialchars()

تابع htmlspecialchars() کاراکترهای ویژه HTML مانند <, >, & و " " را به مقادیر HTML entity تبدیل می‌کند، بنابراین مرورگر آن‌ها را به عنوان HTML تفسیر نمی‌کند و به صورت متن خام نمایش می‌دهد.

مثال:

echo htmlspecialchars("<b>This is bold text</b>");

خروجی:

<b>This is bold text</b>

در اینجا تگ <b> به صورت متن نمایش داده می‌شود و به عنوان HTML تفسیر نمی‌شود.

2. استفاده از تگ <pre> در HTML

تگ <pre> در HTML، متنی که درون آن قرار دارد را بدون تغییر و با تمامی فاصله‌ها و خط‌های جدید، دقیقاً به همان شکلی که نوشته شده است، نمایش می‌دهد.

مثال:

echo "<pre>This is a text\nwith line breaks and    spaces.</pre>";

خروجی در مرورگر:

This is a text
with line breaks and    spaces.

در این مثال، \n و فاصله‌ها به همان صورتی که هستند نمایش داده می‌شوند.

3. استفاده از تابع strip_tags()

تابع strip_tags() تمامی تگ‌های HTML را از یک رشته حذف می‌کند و فقط متن خالص را به عنوان خروجی نمایش می‌دهد. این روش در صورتی مفید است که بخواهید HTML را حذف کنید و فقط متن ساده باقی بماند.

مثال:

echo strip_tags("<b>This is bold text</b>");

خروجی:

This is bold text

در اینجا، تگ‌های HTML حذف شده و فقط متن باقی مانده است.


نتیجه‌گیری:

  • اگر می‌خواهید تگ‌های HTML تفسیر نشوند، می‌توانید از تابع htmlspecialchars() استفاده کنید.
  • اگر می‌خواهید متنی را با فاصله‌ها و خطوط جدید به همان صورت نمایش دهید، می‌توانید از تگ <pre> استفاده کنید.
  • برای حذف تگ‌های HTML و نمایش متن خالص، تابع strip_tags() بهترین گزینه است.

این روش‌ها به شما کمک می‌کنند تا متن خود را به شکلی که می‌خواهید بدون تفسیر HTML نمایش دهید.

به اشتراک بگذارید

پست های اخیر

  • PHP

انواع توابع در PHP

توابع (Functions) یکی از مهم‌ترین اجزای هر زبان برنامه‌نویسی هستند و PHP نیز از این قاعده مستثنی نیست. توابع در…

1 ساعت قبل
  • طراحی صفحات وب

مقایسه انواع فرمت‌های فونت سایت

در طراحی سایت، یکی از عوامل مهمی که می‌تواند تجربه کاربری را بهبود بخشد، استفاده از فرمت مناسب فونت است.…

23 ساعت قبل
  • PHP

کاراکترهای کنترلی در PHP

کاراکترهای کنترلی در PHP به کاراکترهایی اشاره دارند که برای کنترل نحوه نمایش یا پردازش متن استفاده می‌شوند. این کاراکترها…

2 روز قبل
  • حسابداری هلو

پرداخت و دریافت چک درهلو

یکی از امکانات مهم در برنامه هلو، مدیریت پرداخت چک‌ها است که می‌تواند برای کنترل تراکنش‌های مالی و تنظیم پرداخت‌های…

5 روز قبل
  • حسابداری هلو

موجودی صندوق و بانک در برنامه هلو

مدیریت صحیح موجودی صندوق و بانک در برنامه هلو یکی از کلیدهای موفقیت در کنترل مالی یک شرکت یا فروشگاه…

5 روز قبل
  • حسابداری هلو

صندوق و تنخواه‌گردان در برنامه هلو

صندوق و تنخواه‌گردان دو بخش مهم در مدیریت مالی شرکت‌ها و فروشگاه‌ها هستند که مبالغ نقدی و غیر نقدی آن‌ها…

5 روز قبل

Fatal error: Uncaught Error: Call to a member function hasAttribute() on null in /home/itvisi/domains/itvisit.ir/public_html/itblog/wp-content/plugins/accelerated-mobile-pages/includes/vendor/tool/Dom/Document.php:561 Stack trace: #0 /home/itvisi/domains/itvisit.ir/public_html/itblog/wp-content/plugins/accelerated-mobile-pages/includes/vendor/tool/Dom/Document.php(468): AmpProject\Dom\Document->loadHTMLFragment('<!doctype html>...', Array) #1 /home/itvisi/domains/itvisit.ir/public_html/itblog/wp-content/plugins/accelerated-mobile-pages/includes/vendor/tool/Dom/Document.php(369): AmpProject\Dom\Document->loadHTML('<!doctype html>...', Array) #2 /home/itvisi/domains/itvisit.ir/public_html/itblog/wp-content/plugins/accelerated-mobile-pages/includes/vendor/tool/Optimizer/TransformationEngine.php(78): AmpProject\Dom\Document::fromHtml('<!doctype html>...') #3 /home/itvisi/domains/itvisit.ir/public_html/itblog/wp-content/plugins/accelerated-mobile-pages/includes/amp-optimizer-addon.php(17): AmpProject\Optimizer\TransformationEn in /home/itvisi/domains/itvisit.ir/public_html/itblog/wp-content/plugins/accelerated-mobile-pages/includes/vendor/tool/Dom/Document.php on line 561