|
|
|
bug ในโค๊ดนี้ มี 2 จุด มีเทคนิคสามารถแก้ได้มั้ยครับ |
|
|
|
|
|
|
|
มันมีเคาะอยู่ ลองลบเคาะ หรือ เพิ่มอีกเคาะดู ค่ามันจะเปลี่ยนไป
Code (PHP)
$str = preg_replace('/-+/', " ", $str);
|
|
|
|
|
Date :
2013-06-01 00:18:37 |
By :
randOmizE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูขั้นตอนการทำงานของมันนะครับ
<?php
function slug($str){
// แทนที่อักษรที่ไม่ใช่ A-Z, a-z, 0-9 และ - ด้วย -
//เช่น '<br />' จะกลายเป็น '-br---'
$str = preg_replace('/[^A-Za-z0-9-]/', '-', $str);
// แทนที่ - ที่จะติดกันกี่ตัวก็ตาม ด้วย ช่องว่าง
//เช่น 'Yes-----No-------Yes' จะกลายเป็น 'Yes No Yes'
$str = preg_replace('/-+/', " ", $str);
return $str;
}
$text='C$';
$text_not_have_special_char = slug($text);
// ดังนั้น C$ จะแปลงเป็น 'C-' ก่อนใน preg_replace() ครั้งแรก
// และจะกลายเป็น 'C ' ใน preg_replace() ครั้งที่สอง
// สังเกตว่ามันก็ยังเป็น 2 ตัวอักษรอยู่ดี ซึ่งถูกต้องแล้ว เพราะช่องว่าง ' ' ก็นับรวมเป็น 1 ตัวอักษร
echo $text_not_have_special_char;
?>
</br>
<?PHP
echo strlen($text_not_have_special_char);
?>
|
ประวัติการแก้ไข 2013-06-01 02:22:21
|
|
|
|
Date :
2013-06-01 02:21:54 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
ประวัติการแก้ไข 2013-06-02 00:09:31 2013-06-02 00:34:55
|
|
|
|
Date :
2013-06-02 00:09:14 |
By :
peap |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้แม้ไม่ได้ถาม แต่ก็อยากแนะนำนะครับ
นี่คือคู่มือ PHP ครับ
http://www.php.net/manual/en/index.php
นี่เรื่องพื้นฐานเกี่ยวกับสตริงครับ
http://www.php.net/manual/en/language.types.string.php
ลองอ่านดูครับ ขอให้อดทนลองอ่านดูแม้จะเป็นภาษาอังกฤษ เพราะภาษาอังกฤษที่ใช้ในคู่มือของ PHP นี่ไม่ได้ยากครับ
ซึ่ง PHP เป็นภาษาโปรแกรมที่ได้รับการยอมรับกันเลยว่า มีคู่มือที่ดีที่สุดภาษาหนึ่ง
ต่อให้อ่านไม่ค่อยรู้เรื่อง แต่ถ้าดูโค้ดตัวอย่าง บางครั้งเราจะเก็ตได้เองนะครับ
|
|
|
|
|
Date :
2013-06-02 02:32:40 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|