ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingต้องการตัดเครื่องหมายออก เช่น + / * ! ( ) &%$#@><? เขียน script แบบไหนครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ต้องการตัดเครื่องหมายออก เช่น + / * ! ( ) &%$#@><? เขียน script แบบไหนครับ  (อ่าน 4626 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
asunza
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 234



ดูรายละเอียด เว็บไซต์
« เมื่อ: 05 มิถุนายน 2010, 15:23:48 »

ผมต้องการตัดเครื่องหมายพวกนี้ออก + / * ! ( ) & % $ # @ > < ?
เขียน script PHP แบบไหนครับ

เช่น
word-word+word*word/word%word$word#word

ให้เป็นแบบนี้

word-word-word-word-word-word-word-word

 wanwan017
บันทึกการเข้า

kongpair
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 333
ออฟไลน์ ออฟไลน์

กระทู้: 2,721



ดูรายละเอียด
« ตอบ #1 เมื่อ: 05 มิถุนายน 2010, 15:47:39 »

<?php

$oldstring = 'some+thing about us "super" demo';

$string_to_replace     = array ("+" , "/" , "*" , "!" , "(" , ")" , "&" , "%" , "$" , "#" , "@" , ">" , "<" , "?" , " ");
$string_after_replace  = array ("-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-");
$newstring         = str_replace($string_to_replace , $string_after_replace , $oldstring , $count);   

echo $newstring;
?>

RESULT :

some-thing-about-us-super-demo
บันทึกการเข้า
asunza
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 234



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 มิถุนายน 2010, 15:58:59 »

ขอบคุณมากครับ  wanwan017
บันทึกการเข้า

xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 04 ตุลาคม 2011, 15:26:30 »

function rewrite_url($url="url"){
   $url = strtolower(preg_replace('~[^a-z0-9ก-๙\.\-\_]~iu','-',$url));
   return $url ;
}

$oldstring = 'some+thing about us "super" demo';
echo rewrite_url($oldstring);
« แก้ไขครั้งสุดท้าย: 04 ตุลาคม 2011, 15:27:18 โดย xvlnw.com » บันทึกการเข้า

seowizard
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 102
ออฟไลน์ ออฟไลน์

กระทู้: 1,119



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 04 ตุลาคม 2011, 17:01:12 »

ใช้ regular expression เอาครับ ง่ายดี

$str_reg = "word-word+word*word/word%word$word#word";
echo preg_replace("/[\*|!|\(|\)|&|%|\$|#|@|<|>|\?|\+|\/]/", "-", $str_reg);
บันทึกการเข้า
WPDSign
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 500
ออฟไลน์ ออฟไลน์

กระทู้: 9,060



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 04 ตุลาคม 2011, 17:31:43 »

<?php

$oldstring = 'some+thing about us "super" demo';

$string_to_replace     = array ("+" , "/" , "*" , "!" , "(" , ")" , "&" , "%" , "$" , "#" , "@" , ">" , "<" , "?" , " ");
$string_after_replace  = array ("-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-");
$newstring         = str_replace($string_to_replace , $string_after_replace , $oldstring , $count);   

echo $newstring;
?>

RESULT :

some-thing-about-us-super-demo

ผมใช้ตามนี้เลยครับ พอดีเคยตั้งกระทู้ถาม เหมือนกัน
บันทึกการเข้า

สร้างบ้าน Modern แบบบ้านโมเดิร์น มาแรง
» ต้องการสร้างบ้านดูแบบบ้านสวยๆ แบบบ้านสองชั้น ทุกสไลต์บริการรับสร้างบ้าน ใครฝันอย่างสร้างบ้านสไตล์รีสอร์ท มีแบบบ้านสไตล์รีสอร์ท พร้อมก่อสร้าง ลงประกาศขายบ้านที่ ลงประกาศ
Synchronize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 83
ออฟไลน์ ออฟไลน์

กระทู้: 1,231



ดูรายละเอียด
« ตอบ #6 เมื่อ: 04 ตุลาคม 2011, 19:16:50 »

<?php

$oldstring = 'some+thing about us "super" demo';

$string_to_replace     = array ("+" , "/" , "*" , "!" , "(" , ")" , "&" , "%" , "$" , "#" , "@" , ">" , "<" , "?" , " ");
$string_after_replace  = array ("-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-" , "-");
$newstring         = str_replace($string_to_replace , $string_after_replace , $oldstring , $count);  

echo $newstring;
?>

RESULT :

some-thing-about-us-super-demo

ตัวแปล  $count  มาจากไหนเหรอครับ

  wanwan017
« แก้ไขครั้งสุดท้าย: 04 ตุลาคม 2011, 19:17:04 โดย Synchronize » บันทึกการเข้า

engiblog.com
ก๊วนเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 310



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 04 ตุลาคม 2011, 21:55:22 »

ลองใช้ regular expression ไหมครับ เช่น ต้องการแต่ตัวอักษรภาษาอังกฤษและตัวเลข

$ผลลัพท์ที่ได้ = preg_replace('/[^a-zA-Z0-9-]/s', '', $ที่ต้องการตัด);
บันทึกการเข้า

kritsanatt
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 119



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 04 ตุลาคม 2011, 22:35:38 »

โอวเทพโปรแกรมเมอร์ ต้องใช้ function นี้เหมือนกัน มาขอเก็บไปก่อนละครับ ขอบคุณครับ  Cry
บันทึกการเข้า

starpic
ก๊วนเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 341



ดูรายละเอียด
« ตอบ #9 เมื่อ: 11 ตุลาคม 2011, 23:11:55 »

เอาไปใช้ยังไงเหรอครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์