วันจันทร์ที่ 29 เมษายน พ.ศ. 2556
การเขียน Array เที่ยบค่าเพื่อแสดงผล
$mydam = 1; //หมายถึงค่าที่ถูก Post มาจาก Form $_POST['mydam'];
$damx = array("เขื่อนภูมิพล", "เขื่อนสิริกิติ์", "เขื่อนศรีนครินทร์", "เขื่อนท่าทุ่งนา", "เขื่อนวชิราลงกรณ", "เขื่อนรัชชประภา", "เขื่อนบางลาง", "เขื่อนแก่งกระจาน", "เขื่อนอุบลรัตน์", "เขื่อนสิรินธร", "เขื่อนจุฬาภรณ์", "เขื่อนปากมูล", "เขื่อนน้ำพุง", "เขื่อนห้วยกุ่ม", "โรงไฟฟ้าลำตะคอง", "เขื่อนแม่งัด", "โรงไฟฟ้าบ้านขุนกลาง", "โรงไฟฟ้าบ้านยาง", "โรงไฟฟ้าห้วยกุยมั่ง", "","โรงไฟฟ้าบ้านสันติ"); //กำหนด ค่าของ Array โดย Array จะเริ่มต้นที่ 0
$myd =round($mydam)-1; //ค่าที่ส่งมาต้อง - 1 กรณีที่ค่าที่ Post มาเริ่มต้นที่ 1 //round กำหนดให้เป็นตัวเลขจำนวนเต็ม
$mydam1 =$damx[$myd]; // กำหนดให้เที่ยบค่าที่ Post มากับที่ Array ที่กำหนดไว้
ผลลัพธ์
echo $mydam1 ; // คำตอบคือ เขื่อนภูมิพล
PHP Function BBCode2HTML
<?php
// function to convert bbcode, and smiles to html
function bbcodeHtml($str) {
// delete 'http://' because will be added when convert the code
$str = str_replace('[url=http://', '[url=', $str);
$str = str_replace('[url]http://', '[url]', $str);
// Array with RegExp to recognize the code that must be converted
$bbcode_smiles = array(
// RegExp for [b]...[/b], [i]...[/i], [u]...[/u], [block]...[/block], [color=code]...[/color], [br]
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[block\](.*?)\[\/block\]/is',
'/\[color=(.*?)\](.*?)\[\/color\]/is',
'/\[br\]/is',
// RegExp for [url=link_address]..link_name..[/url], or [url]..link_address..[/url]
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[url\](.*?)\[\/url\]/is',
// RegExp for [img=image_address]..image_title[/img], or [img]..image_address..[/img]
'/\[img\=(.*?)\](.*?)\[\/img\]/is',
'/\[img\](.*?)\[\/img\]/is',
// RegExp for sets of characters for smiles: :), :(, :P, :P, ...
'/:\)/i', '/:\(/i', '/:P/i', '/:S/i', '/:O/i', '/=D\>/i', '/\>:D\</i', '/:D/i', '/:-\*/i'
);
// Array with HTML that will replace the bbcode tags, defined inthe same order
$html_tags = array(
// <b>...</b>, <i>...</i>, <u>...</u>, <blockquote>...</blockquote>, <span>...</span>, <br/>
'<b>$1</b>',
'<i>$1</i>',
'<u>$1</u>',
'<blockquote>$1</blockquote>',
'<span style="color:$1;">$2</span>',
'<br/>',
// a href...>...</a>, and <img />
'<a target="_blank" href="http://$1">$2</a>',
'<a target="_blank" href="http://$1">$1</a>',
'<img src="$1" alt="$2" />',
'<img src="$1" alt="$1" />',
// The HTML to replace smiles. Here you must add the address of the images with smiles
'<img src="icos/1.gif" alt=":)" border="0" />',
'<img src="icos/2.gif" alt=":(" border="0" />',
'<img src="icos/3.gif" alt=":P" border="0" />',
'<img src="icos/4.gif" alt=":S" border="0" />',
'<img src="icos/5.gif" alt=":O" border="0" />',
'<img src="icos/6.gif" alt="=D>" border="0" />',
'<img src="icos/7.gif" alt=">: D<" border="0" />',
'<img src="icos/8.gif" alt=": D" border="0" />',
'<img src="icos/9.gif" alt=":-*" border="0" />'
);
// replace the bbcode
$str = preg_replace($bbcode_smiles, $html_tags, $str);
return $str;
}
// Test
$str = 'Test [b]PHP tutorials[/b].[br]
[i][color=blue]Blue, and oblique string[/color][/i], underlined: [u]BBCODE tags[/u][br]
Link: [url=http://coursesweb.net/php-mysql/]PHP Course[/url], smiles: =D>, :), >:D< ...
[block]Text added in "block", for blockquote[/block]
An image: [img=http://coursesweb.net/imgs/webcourses.gif]Course Web[/img]';
echo bbcodeHtml($str);
?>
// function to convert bbcode, and smiles to html
function bbcodeHtml($str) {
// delete 'http://' because will be added when convert the code
$str = str_replace('[url=http://', '[url=', $str);
$str = str_replace('[url]http://', '[url]', $str);
// Array with RegExp to recognize the code that must be converted
$bbcode_smiles = array(
// RegExp for [b]...[/b], [i]...[/i], [u]...[/u], [block]...[/block], [color=code]...[/color], [br]
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[block\](.*?)\[\/block\]/is',
'/\[color=(.*?)\](.*?)\[\/color\]/is',
'/\[br\]/is',
// RegExp for [url=link_address]..link_name..[/url], or [url]..link_address..[/url]
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[url\](.*?)\[\/url\]/is',
// RegExp for [img=image_address]..image_title[/img], or [img]..image_address..[/img]
'/\[img\=(.*?)\](.*?)\[\/img\]/is',
'/\[img\](.*?)\[\/img\]/is',
// RegExp for sets of characters for smiles: :), :(, :P, :P, ...
'/:\)/i', '/:\(/i', '/:P/i', '/:S/i', '/:O/i', '/=D\>/i', '/\>:D\</i', '/:D/i', '/:-\*/i'
);
// Array with HTML that will replace the bbcode tags, defined inthe same order
$html_tags = array(
// <b>...</b>, <i>...</i>, <u>...</u>, <blockquote>...</blockquote>, <span>...</span>, <br/>
'<b>$1</b>',
'<i>$1</i>',
'<u>$1</u>',
'<blockquote>$1</blockquote>',
'<span style="color:$1;">$2</span>',
'<br/>',
// a href...>...</a>, and <img />
'<a target="_blank" href="http://$1">$2</a>',
'<a target="_blank" href="http://$1">$1</a>',
'<img src="$1" alt="$2" />',
'<img src="$1" alt="$1" />',
// The HTML to replace smiles. Here you must add the address of the images with smiles
'<img src="icos/1.gif" alt=":)" border="0" />',
'<img src="icos/2.gif" alt=":(" border="0" />',
'<img src="icos/3.gif" alt=":P" border="0" />',
'<img src="icos/4.gif" alt=":S" border="0" />',
'<img src="icos/5.gif" alt=":O" border="0" />',
'<img src="icos/6.gif" alt="=D>" border="0" />',
'<img src="icos/7.gif" alt=">: D<" border="0" />',
'<img src="icos/8.gif" alt=": D" border="0" />',
'<img src="icos/9.gif" alt=":-*" border="0" />'
);
// replace the bbcode
$str = preg_replace($bbcode_smiles, $html_tags, $str);
return $str;
}
// Test
$str = 'Test [b]PHP tutorials[/b].[br]
[i][color=blue]Blue, and oblique string[/color][/i], underlined: [u]BBCODE tags[/u][br]
Link: [url=http://coursesweb.net/php-mysql/]PHP Course[/url], smiles: =D>, :), >:D< ...
[block]Text added in "block", for blockquote[/block]
An image: [img=http://coursesweb.net/imgs/webcourses.gif]Course Web[/img]';
echo bbcodeHtml($str);
?>
วันอาทิตย์ที่ 28 เมษายน พ.ศ. 2556
Chartdirector แสดงผลภาษาไทย
Chartdirector
แสดงผลภาษาไทย กรณีที่หน้า Webpage Encode UTF-8 จะไม่มีปัญหาในการแสดงผล
แต่ถ้าเลือกเป็น Windows-874 หรือ TIS-620 จะมีปัญหาในการแสดงกราฟ
วิธีแก้
ใช้
ICONV('TIS-620','UTF-8',$ตัวแปร)
ตัวอย่าง
$labelsObj = $c->xAxis->setLabels($labels);
$labelsObj->setFontAngle(0);
$labelsObj->setFontColor(0X0000ff );
$labelsObj->setFontStyle("tahoma.ttf", 6);
$title1 = iconv('TIS-620','UTF-8',"ข้อมูล".$captions);
$c->xAxis2->setTitle($title1, "tahoma.ttf", 18,0X0000ff);
if($chart_type == "line"){
$layer = $c->addLineLayer2();
$layer1 = $c->addLineLayer2();
$layer2 = $c->addLineLayer2();
#Set the default line width to 2 pixels
$layer1->setLineWidth(1);
$layer->setLineWidth(3);
$layer2->setLineWidth(3);
$c->xAxis->setWidth(1);
$dataSetObj = $layer->addDataSet($data1, 0x0000c0, iconv( 'TIS-620','UTF-8',"ข้อมูลปี ".$end_year));
$dataSetObj->setDataSymbol(CircleSymbol, 9, 0xffff00);
$dataSetObj2 = $layer2->addDataSet($data2, $c->dashLineColor(0x00FF00, DashLine),iconv( 'TIS-620','UTF-8',"เทียบกับการใช้ ปี ".($start_year)));
$dataSetObj2->setDataSymbol(CircleSymbol, 8, 0x99FFCC);
$c->addAreaLayer($data3, $c->gradientColor(0, 2000, 00, 5000, 0xFFCCCC, 0xFF3333),iconv( 'TIS-620','UTF-8',"เทียบกับการใช้ ปี ".($start_year)."ลดลงอีก ".$p_energy ."%"));
** ใช้ ICONV() ถ้าใช้ WINDOWS-874 ไม่ต้องเปลี่ยนให้ใช้ TIS-620 อันเดียวเลย
แสดงผลภาษาไทย กรณีที่หน้า Webpage Encode UTF-8 จะไม่มีปัญหาในการแสดงผล
แต่ถ้าเลือกเป็น Windows-874 หรือ TIS-620 จะมีปัญหาในการแสดงกราฟ
วิธีแก้
ใช้
ICONV('TIS-620','UTF-8',$ตัวแปร)
ตัวอย่าง
$labelsObj = $c->xAxis->setLabels($labels);
$labelsObj->setFontAngle(0);
$labelsObj->setFontColor(0X0000ff );
$labelsObj->setFontStyle("tahoma.ttf", 6);
$title1 = iconv('TIS-620','UTF-8',"ข้อมูล".$captions);
$c->xAxis2->setTitle($title1, "tahoma.ttf", 18,0X0000ff);
if($chart_type == "line"){
$layer = $c->addLineLayer2();
$layer1 = $c->addLineLayer2();
$layer2 = $c->addLineLayer2();
#Set the default line width to 2 pixels
$layer1->setLineWidth(1);
$layer->setLineWidth(3);
$layer2->setLineWidth(3);
$c->xAxis->setWidth(1);
$dataSetObj = $layer->addDataSet($data1, 0x0000c0, iconv( 'TIS-620','UTF-8',"ข้อมูลปี ".$end_year));
$dataSetObj->setDataSymbol(CircleSymbol, 9, 0xffff00);
$dataSetObj2 = $layer2->addDataSet($data2, $c->dashLineColor(0x00FF00, DashLine),iconv( 'TIS-620','UTF-8',"เทียบกับการใช้ ปี ".($start_year)));
$dataSetObj2->setDataSymbol(CircleSymbol, 8, 0x99FFCC);
$c->addAreaLayer($data3, $c->gradientColor(0, 2000, 00, 5000, 0xFFCCCC, 0xFF3333),iconv( 'TIS-620','UTF-8',"เทียบกับการใช้ ปี ".($start_year)."ลดลงอีก ".$p_energy ."%"));
** ใช้ ICONV() ถ้าใช้ WINDOWS-874 ไม่ต้องเปลี่ยนให้ใช้ TIS-620 อันเดียวเลย
สมัครสมาชิก:
บทความ (Atom)