PDA

View Full Version : آموزش: پروژه pars-SH ساخت Syntax Highliter با استفاده از PHP



Keramatifar
پنج شنبه 29 مرداد 1394, 01:02 صبح
وقتی صحبت از Syntax Highlighter ها می شود، انواع پلاگین های jQuery و JavaScript پیشنهاد می شود، اما PHP هم توابع جالبی برای نمایش کدهای برنامه نویسی دارد که کمتر کسی با آنها کار کرده یا حتی از وجود آنها اطلاعی دارد.در این تاپیک قصد دارم در قالب طراحی و پیاده سازی پروژه Syntax Highliter از صفر تا 100، ضمن آموزش مباحث کاربردی PHP و روش های صحیح طراحی، مدیریت و اجرای پروژه های متن باز، در نهایت یک پکیج قابل استفاده را ارائه نماییم و با تشکیل تیم توسعه و پشتیبانی، با کمک کاربران برنامه نویس، به مرور این پروژه را به یکی از پروژه های مطرح در دنیای Open Source تبدیل کنیم.
لذا علاقه مندان به عضویت در تیم این پروژه در همین تاپیک اعلام آمادگی نمایند.

عنوان پروژه: ParsPHP Syntax Highliter
توضیحات: ساخت Syntax Highlighter با PHP
نویسنده: آکادمی متن باز برنامه نویس (ParsPHP)

Keramatifar
پنج شنبه 29 مرداد 1394, 01:19 صبح
کار را با معرفی تابع highlight_file (http://parsphp.ir/php-docs/function.highlight-file.html) در PHP آغاز می کنیم
این تابع یک فایل را به عنوان ورودی دریافت می کند، و یک String را بصورت رنگی و نزدیک به Syntax Highlighter خروجی می دهد
شکل دستوری:




mixed (http://parsphp.ir/php-docs/language.pseudo-types.html#language.types.mixed) highlight_file ( string $filename [, bool $return = false ] )



مثال استفاده

<?php
function highlight_num($file)
{
$lines = implode(range(1, count(file($file))), '<br />');
$content = highlight_file($file, true);


echo '
<style type="text/css">
.num {
float: left;
color: gray;
font-size: 13px;
font-family: monospace;
text-align: right;
margin-right: 6pt;
padding-right: 6pt;
border-right: 1px solid gray;}

body {margin: 0px; margin-left: 5px;}
td {vertical-align: top;}
code {white-space: nowrap;}
</style>';



echo "<table><tr><td class=\"num\">\n$lines\n</td><td>\n$content\n</td></tr></table>";
}
highlight_num(__FILE__);
?>