no-img
اِمیلا

سبک کردن یا قالب بندی نمایش متن

انتشار؛ 22 ژوئن 2019،
339 روز پیش
کد نویسی

تابع Parser ساده BBCode با PHP

حدس می زنم شما همه در مورد BBCodes اشنایی دارید! کد BB یک مجموعه ساده بسیار ساده است (همچنین به عنوان برچسب های BB شناخته می شود) که برای سبک کردن یا قالب بندی متن نمایش داده می شود. هنگامی که متن با کد BB در مرورگر نمایش داده می شود، برچسب های BB با برچسب های HTML مناسب جایگزین می شوند. BBCode ها به طور گسترده ای در سایت های اجتماعی، انجمن ها (مانند phpBB یا vBulletin) و حتی بخش های اظهار نظر در وبلاگ استفاده می شود.

در اینجا یک مثال BBCode و خروجی واقعی یا متن فرمت شده است.

BBCode: [b]bold text[/b]

Output: <b>bold text</b>

اکنون اجازه می دهیم که تابع پی اچ پی برای این Parser BBCode ایجاد شود.

<?php
/** 
* A simple PHP BBCode Parser function
*
* @author Afsal Rahim 
* @link http://digitcodes.com/create-simple-php-bbcode-parser-function/ 
**/
 
//BBCode Parser function
function showBBcodes($text) {
 
// BBcode array
$find = array(
'~\[b\](.*?)\[/b\]~s',
'~\[i\](.*?)\[/i\]~s',
'~\[u\](.*?)\[/u\]~s',
'~\[quote\](.*?)\[/quote\]~s',
'~\[size=(.*?)\](.*?)\[/size\]~s', 
'~\[color=(.*?)\](.*?)\[/color\]~s',
'~\[url\]((?:ftp|https?)://.*?)\[/url\]~s',
'~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s'
);
 
// HTML tags to replace BBcode
$replace = array(
'<b>$1</b>', 
'<i>$1</i>',
'<span style="text-decoration:underline;">$1</span>',
'<pre>$1</'.'pre>',
'<span style="font-size:$1px;">$2</span>', 
'<span style="color:$1;">$2</span>',
'<a href="$1">$1</a>',
'<img src="$1" alt="" />'
);

// Replacing the BBcodes with corresponding HTML tags
return preg_replace($find,$replace,$text);
}

// How to use the above function:
$bbtext = "This is [b]bold[/b] and this is [u]underlined[/u] and this is in [i]italics[/i] with a [color=red] red color[/color]"; 
$htmltext = showBBcodes($bbtext); 
echo $htmltext; 
?>
لینک کوتاه : https://emila.ir/?p=16528
سلام علیکم!
1
فرم گزارش را به دقت تکمیل نمایید...
از همکاری شما پیشاپیش سپاسگذاریم