[WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!

เริ่มโดย EThaiZone, 05 สิงหาคม 2008, 22:39:50

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

mars

อ้างถึงจาก: ball6847 ใน 08 ตุลาคม 2008, 13:30:33
PHP Syntax Hightlight แบบเบิร์ดๆ

หาฟังก์ชั่นแปลกๆมาเล่นเรื่อยๆ วันๆนั่งอ่าน function reference ไปเรื่อยเปื่อย แล้วก็เจอฟังก์ชั่นน่าสนใจหลายๆฟังก์ชั่น วันนี้ขอหยิบมาเสนอสัก 1 ฟังก์ชั่นค้าบบ

ฟังก์ชั่นนี้มีชื่อว่า highlight_file() หรืออีกชื่อคือ show_source() เป็น build-in function ไม่ต้องไปหาคลาสหรือเขียนฟังก์ชั่นขึ้นเองก็สามารถแสดง source code ของ php แบบมีไฮไลท์ syntax งามๆแล้ว


ฟังก์ชั่นนี้เรียกไฟล์ php จาก domain อื่นได้หรือป่าวครับ

เช่น
$myurl = "http://www.google.com";
highlight_file($myurl);

แต่คิดว่าคงไม่ได้แน่ ๆ เลย




ball6847

อ้างถึงจาก: mars ใน 08 ตุลาคม 2008, 16:00:26
อ้างถึงจาก: ball6847 ใน 08 ตุลาคม 2008, 13:30:33
PHP Syntax Hightlight แบบเบิร์ดๆ

หาฟังก์ชั่นแปลกๆมาเล่นเรื่อยๆ วันๆนั่งอ่าน function reference ไปเรื่อยเปื่อย แล้วก็เจอฟังก์ชั่นน่าสนใจหลายๆฟังก์ชั่น วันนี้ขอหยิบมาเสนอสัก 1 ฟังก์ชั่นค้าบบ

ฟังก์ชั่นนี้มีชื่อว่า highlight_file() หรืออีกชื่อคือ show_source() เป็น build-in function ไม่ต้องไปหาคลาสหรือเขียนฟังก์ชั่นขึ้นเองก็สามารถแสดง source code ของ php แบบมีไฮไลท์ syntax งามๆแล้ว


ฟังก์ชั่นนี้เรียกไฟล์ php จาก domain อื่นได้หรือป่าวครับ

เช่น
$myurl = "http://www.google.com";
highlight_file($myurl);

แต่คิดว่าคงไม่ได้แน่ ๆ เลย





เหอะๆ ได้ก็ความลับแตกกันหมดพอดีดิคับ แหะๆ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

คุณสายน้ำ

พอจะมีใคร ที่ช่วยผมแก้ .htaccess ได้บ้างครับ
เวปผม www.haacar.com เวลากดดูหนังมันไม่จะ link ขาดทำไงดีครับ

.htaccess


Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2&file_id=$3 [L]

oldgame

อยากจะถามว่ามีคำสั่งที่คล้าย ๆ strip_tags($str, '<strong><em><u><p><br>'); แต่เราเจอะจงที่จะเอาออก tag เดียวออกได้มั้ยครับ

อยากเอา tag a ออกอย่างเดียว อะไรแบบนี้อะครับ  ???
[direct=http://www.pwgamer.com]โปรเกมส์[/direct] luna-z blog ส่วนตัวรวมโปร
[direct=http://www.kaichonasean.com]ไก่ชน[/direct] เว็บไซต์รวมซุ้มไก่ชน
[direct=http://www.boybdream.com]รับออกแบบเว็บไซต์[/direct]  รับออกแบบเว็บไซต์
[direct=http://www.2winweb.com]รับทำเว็บ[/direct]  รับออกแบบเว็บไซต์
[direct=http://www.pralanna.com]พระเครื่อง[/direct] พระล้านนา รวมพระเครื่องเมืองเหนือ

kudjung

ปวดหัวกับ XML ผมสร้าง RSS สำหรับกระทู้ใหม่ๆในระบบเว็บบอร์ดครับ แต่ที่นี้มีปัญหาด้านการแสดงผล

เปิดบนเว็บ
ถ้าเปิดกับ IE ก็ไม่มีปัญหา แต่เวลาเปิดใน FF กลับไม่แสดงผลครับ มันแสดงผลเป็นตัวอักษรเต็มไปหมดเลย

เปิดในเครื่อง
ไม่มีปัญหาทั้ง IE และ FF

ใครเคยเจอบ้างครับแบบนี้

EThaiZone

อ้างถึงจาก: newthai22 ใน 08 ตุลาคม 2008, 18:06:49
พอจะมีใคร ที่ช่วยผมแก้ .htaccess ได้บ้างครับ
เวปผม www.haacar.com เวลากดดูหนังมันไม่จะ link ขาดทำไงดีครับ

.htaccess


Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2&file_id=$3 [L]


ไม่ได้เข้ากระทู้นี้ เลยไม่รู้ว่ามีคนถาม  :P

กรณีลิงค์ขาด ก็เพราะมันหาไฟล์ไม่เจอครับ ต้องให้แน่ใจว่า /July2308SEO/MovieScript/ นี้ใช่ที่กำหนดถูกไหม
จริงๆ ถ้าไฟล์ index.php อยู่ที่รากของโดเมนนั้นๆ
ก็อาจกำหนดเรียก index.php ตรงๆ เลยก็ได้

และ regex ในการเรียก แนะนำใช้ + แทน * ดีกว่านะครับ

ถ้าให้ผมเดา มันน่าจะออกมาเป็นแบบนี้ครับ

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]+)-([^-]+)\.htm$ index.php?page=movie&do=film&film_name=$1&film_id=$2 [L]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)\.htm$ index.php?page=movie&do=film&film_name=$1&film_id=$2&file_id=$3 [L]

EThaiZone

#286
อ้างถึงจาก: oldgame ใน 12 ตุลาคม 2008, 08:25:57
อยากจะถามว่ามีคำสั่งที่คล้าย ๆ strip_tags($str, '<strong><em><u><p><br>'); แต่เราเจอะจงที่จะเอาออก tag เดียวออกได้มั้ยครับ

อยากเอา tag a ออกอย่างเดียว อะไรแบบนี้อะครับ  ???

อันนี้แนะนำ preg_replace เลย เช่นแบบนี้ครับ
ผมเขียนเป็นฟังค์ชั่นใหม่นะ จะได้เข้าใจง่ายๆ  :)

function del_tags($str, $tags) {
return preg_replace('#</?'.$tags.'[^>]*>#i', '', $str);
}

$str = "<a href='dsaads'><img src='image.jpg'></a>";
echo del_tags($str, "a");


อัพเดต - แก้เพิ่ม case insensitive

EThaiZone

อ้างถึงจาก: kudjung ใน 12 ตุลาคม 2008, 20:16:13
ปวดหัวกับ XML ผมสร้าง RSS สำหรับกระทู้ใหม่ๆในระบบเว็บบอร์ดครับ แต่ที่นี้มีปัญหาด้านการแสดงผล

เปิดบนเว็บ
ถ้าเปิดกับ IE ก็ไม่มีปัญหา แต่เวลาเปิดใน FF กลับไม่แสดงผลครับ มันแสดงผลเป็นตัวอักษรเต็มไปหมดเลย

เปิดในเครื่อง
ไม่มีปัญหาทั้ง IE และ FF

ใครเคยเจอบ้างครับแบบนี้

RSS ที่ว่ามีการเรียกจาก Mysql หรือเปล่าครับ

ถ้ามีต้องกำหนด Mysql ให้เป๊ะๆ ไปเลย ทั้ง connection encoding
และอื่นๆ ตั้งแต่การ input ข้อมูลเลยครับ

บางโฮสอาจมีปัญหา ก็ลองเซ็ต encoding เป็น latin1 ดูนะครับ
เคยใช้กับบางเว็บหาย (คำแนะนำจากคุณ icez ^^)

oldgame

สุดยอด มากเลยครับคุณโจ้~  :-*

ไม่มีไรตอบแทน ให้ +1 ละกันนะคราบบ อยากให้คุณโจ้แต้มถึง 1000  :D
[direct=http://www.pwgamer.com]โปรเกมส์[/direct] luna-z blog ส่วนตัวรวมโปร
[direct=http://www.kaichonasean.com]ไก่ชน[/direct] เว็บไซต์รวมซุ้มไก่ชน
[direct=http://www.boybdream.com]รับออกแบบเว็บไซต์[/direct]  รับออกแบบเว็บไซต์
[direct=http://www.2winweb.com]รับทำเว็บ[/direct]  รับออกแบบเว็บไซต์
[direct=http://www.pralanna.com]พระเครื่อง[/direct] พระล้านนา รวมพระเครื่องเมืองเหนือ

kudjung

แฮะๆมีคำถามอีกแล้วครับเรื่องความเร็วและใช้การประมวลผลน้อยที่สุด
คือต้องการสุ่มรูปออกมาแสดง 1 รูป ผมจะสุ่มจากฐานข้อมูลดี หรือดึงรูปจากห้องรูปมาสุ่มแล้วแสดงดีครับ
หรือใครมีหลักการที่ดีกว่านั้นก็ว่ามาครับ
ผมต้องสุ่มบ่อยๆด้วยทำอย่างไรถึงจะไม่หนัก server ครับ  :-*

EThaiZone

อ้างถึงจาก: kudjung ใน 12 ตุลาคม 2008, 22:52:42
แฮะๆมีคำถามอีกแล้วครับเรื่องความเร็วและใช้การประมวลผลน้อยที่สุด
คือต้องการสุ่มรูปออกมาแสดง 1 รูป ผมจะสุ่มจากฐานข้อมูลดี หรือดึงรูปจากห้องรูปมาสุ่มแล้วแสดงดีครับ
หรือใครมีหลักการที่ดีกว่านั้นก็ว่ามาครับ
ผมต้องสุ่มบ่อยๆด้วยทำอย่างไรถึงจะไม่หนัก server ครับ  :-*

ห้องรูป คงหมายถึงโฟลเดอร์เก็บรูปนะครับ

ผมชอบสุ่มจากโฟลเดอร์เก็บรูปมากกว่า
เพราะระบบไฟล์จะทำงานเร็วกว่าอยู่แล้ว แต่ hdd จะหมุนหนัก ดังนั้น

จริงๆ มันมีไอเดียง่ายๆ แต่ว่ามันต้องประยุกต์ให้เหมาะกับแต่ละเว็บครับ
สมมุติอย่างเป็น upic.me ของคุณ icez (ต้องขอเอามาเป็นเคสโดยไม่ได้รับอนุญาตนะ งิๆ)

ลักษณะ url ของ thumbnail จะเป็น
http://upic.me/i/vf/o2s66.gif

ถ้าเรามาวิเคราะห์จะพบว่ารูปแบบ (pattern) จะได้
http://upic.me/ ชื่อโฮส
i/ โฟลเดอร์ thumbnail
vf/ โฟลเดอร์ซอยหั่น ความน่าจะเป็นคือ a-z และ 0-9 จำนวน 2 หลัก
o2s66.gif ชื่อไฟล์รูปภาพ ความน่าจะเป็นคือ a-z และ 0-9 จำนวน 2 หลัก แล้วตามด้วยชื่อไฟล์เดิม


ส่วนหนึ่งที่เราพอให้ php ทำงานแทนได้ เช่น โฟลเดอร์ซอยหั่น เพราะน่าจะมีครบ (ถ้าไม่มีก็สุ่มใหม่ซะ)
และเราจะใช้ความสามารถของ glob ที่สามารถเรียกรายการไฟล์แบบ wildcard ได้

สรุปโค้ดคร่าวๆ นะ ก็น่าจะได้แนวนี้

$range = array_merge(range('a', 'z'), range('0', '9'));  //สร้างชุดอักษร

do {
$rd1 = array_rand($range).array_rand($range); //สร้างอักษรสุ่ม 2 ตัว
if(!file_exists("i/".$range[$rd1]."/")) continue; //ตรวจสอบโฟลเดอร์ย่อย ไม่มีก็กลับไปทำใหม่
$list = glob("i/".$range[$rd1]."/{*.jpg,*.gif,*.png}", GLOB_BRACE); //ค้นหาไฟล์ภาพทั้งหมดในโฟลเดอร์ย่อยที่สุ่มขึ้น
$key = array_rand($list); //เรียกออกมา
$pickup = $list[$key];
break;
} while (0);

echo "Random: ".$pickup;


นี้เป็นแค่ตัวอย่างนะครับ ต้องอาศัยปัจจุจัยหลายอย่าง
แต่อยากให้เห็นแนวคิด มันประยุกษ์ได้เยอะ

:)


icez

วิธีที่เร็วที่สุดคือ เก็บใส่ array แล้วสุ่มเอาครับ
ทีนี้ จังหวะที่จะเรียกมาเก็บใส่ array เนี่ยแหละครับจะทำไง

1. ข้อมูลอยู่ใน sql อยู่แล้ว
2. ดึงรายการไฟล์จาก folder เลย

สองอย่างนี้รวมๆ แล้วก็หนักพอกันครับ
อันนึงก็เปลือง query อีกอันก็เปลือง stat (i/o seek)

เพราะงั้น พอ list ออกมาได้แล้วก็เก็บลง cache เลยครับ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

EThaiZone

ู^
^
เห็นด้วยเลยครับ เราอาจต้องตัดใจเรื่องความสดของข้อมูลไปบ้าง
หรืออยากให้อัพเดตใหม่แบบเรื่อยๆ ก็อาจแยกไฟล์ส่วนที่ใช้สร้าง cache ไปรัน cron ตอนเวลาดึกๆ ของทุกๆ วัน (คนน้อย)

แล้วเวลาใช้จริงก็ค่อยสุ่มจาก cache เอา ซึ่งอาจใช้ serialize ช่วยก็ได้

oldgame

ช่วงนี้ถามบ่อยหน่อยนะครับ  :-[

อยากจะถามว่าเวลาจัดเก็บข้อมูลประเภท string พวกเครื่องหมาย " ' < > เข้าฐานข้อมูล เวลาเอามาแสดงใช้งานมีปัญหามากเลยครับ พมก็จัดการแบบบ้าน ๆ อย่างพวก str_replace เปลี่ยนมันเป็น ระหัสสัญญาลักษญ์ก็พอใช้งานไปได้ครับ แต่ผมคิดว่าเป็นวิธีที่ไม่ถูกต้องแน่นอน เลยอยากจะถามพี่ ๆ ว่ามีวิธีทีใหนที่เค้าใช้กันเป็นสากลครับผม  :'(

ละก็มีเครื่องหมายอื่น ๆ อีกรึเปล่าที่ผมต้องกลัวครับผม  :P

ขอบคุณพี่ ๆ ที่ช่วยเสมอมาครับ  :-*
[direct=http://www.pwgamer.com]โปรเกมส์[/direct] luna-z blog ส่วนตัวรวมโปร
[direct=http://www.kaichonasean.com]ไก่ชน[/direct] เว็บไซต์รวมซุ้มไก่ชน
[direct=http://www.boybdream.com]รับออกแบบเว็บไซต์[/direct]  รับออกแบบเว็บไซต์
[direct=http://www.2winweb.com]รับทำเว็บ[/direct]  รับออกแบบเว็บไซต์
[direct=http://www.pralanna.com]พระเครื่อง[/direct] พระล้านนา รวมพระเครื่องเมืองเหนือ

au8ust

ถามเรื่อง alternative row อ่ะครับ

ตอนแรกทำ table ก็ไม่มีปัญหา เพราะมันสลับสีให้เองตาม tr แต่ละอัน ตอนหลังมาใช้ div แทนแล้วมันไม่สลับสีแล้ว อยากทราบว่า เขียนยังไงให้มันสลับสีตามนี้เองครับ

<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>

ขอบคุณครับ

Sarbuy

<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>


ข้างบนเป็น code ที่เรียกใช้งานจริง ๆ เหรอครับ
มันเวนวรรคอ่ะนะ เลยอาจจะทำให้สีไม่สลับก็ได้ครับ

ตอนที่ผมใช้ใน css ผมแบบนี้อ่านะ

.#####1{
width:180px;
height:100px;
float:left;
background-color:#005A93;
}
.####2{
width:180px;
height:100px;
float:left;
background-color:#FBF9C8;
}

kudjung

ขอบคุณทั้งคุณ EThaiZone และคุณ ICEZ นะครับไม่มีอะไรตอบแทนนอกจาก +1  :)

au8ust

@Sarbuy - โค๊ดเป็นแบบนี้ครับ


{if $recent_posts}
{foreach item=post from=$recent_posts}
<div class="home">
<div class="home_left">
{if $post.type_id == $smarty.const.CAT_1}
{elseif $post.type_id == $smarty.const.CAT_2}
{elseif $post.type_id == $smarty.const.CAT_3}
{/if}
</div>
<div class="home_right">
<a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
</div>
</div>
{/foreach}
{/if}



icez

ทำไม quote ไม่ไปเนี่ย แง่งๆๆๆๆ


ตอบคุณ old man นะคัรบ

ตอนเก็บเข้าฐานข้อมูล ใช้ mysql_escape_string ครับ
ส่วนตอนแสดงผล ใช้ htmlspecialchars ครับ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

EThaiZone

อ้างถึงจาก: icez ใน 13 ตุลาคม 2008, 07:08:28
ทำไม quote ไม่ไปเนี่ย แง่งๆๆๆๆ

หาแนวร่วมได้แล้ว  :D
ต้องคลิ๊กขวาแล้วเลือกอ้างอิงแทนครับ เป็นกันทุกคนเลย

----------------------------------------------------------

@august

อ้างถึง{if $recent_posts}
            {foreach item=post key=keyid from=$recent_posts}
            <div class="{if (keyid%2) neq 0}class1{else}class2{/if}">
               <div class="home_left">
                  {if $post.type_id == $smarty.const.CAT_1}
                  {elseif $post.type_id == $smarty.const.CAT_2}
                  {elseif $post.type_id == $smarty.const.CAT_3}
                  {/if}
               </div>
               <div class="home_right">
               <a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
               </div>
            </div>
            {/foreach}
            {/if}

ตรงตัวหนาคือที่แก้เพิ่ม
แล้วเดี๋ยวก็ไปกำหนดใน css ให้ class1 กับ class2 มีสีพื้นต่างกันครับ