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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingPHP การเปลี่ยนช่องว่างเป็น ขีด ช่วยทีค่ะ โดย มายองเนสจัง
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: PHP การเปลี่ยนช่องว่างเป็น ขีด ช่วยทีค่ะ โดย มายองเนสจัง  (อ่าน 2342 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
มายองเนสจัง
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,137



ดูรายละเอียด
« เมื่อ: 26 ตุลาคม 2012, 17:14:55 »

ติดปัญหาบางอย่างค่ะ อยากแก้คำให้ช่องว่างกลายเป็นขีดแทน ทำยังไงหรอคะ เช่น

Mayong So Much ให้กลายเป็น Mayong-So-Much อะไรประมาณนี้อะ

แล้วถ้าเขียนฟอร์ม รับคำแล้วแสดงผล ออกมานี่ยากรึเปล่าคะ แนะนำด้วยค่ะ  wanwan009
บันทึกการเข้า
joetiaw
สมุนแก๊งเสียว
*

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

กระทู้: 691



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 26 ตุลาคม 2012, 17:16:33 »

ใช้ str_replace ไม่ได้เหรอครับ  Tongue

$text ="Mayong So Much";
echo str_replace(" ", "-", $text);
« แก้ไขครั้งสุดท้าย: 26 ตุลาคม 2012, 17:22:23 โดย joetiaw » บันทึกการเข้า

chaikrit
Newbie
*

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

กระทู้: 89



ดูรายละเอียด
« ตอบ #2 เมื่อ: 26 ตุลาคม 2012, 17:18:24 »

โค๊ด:
$text="Mayong So Much";
echo str_replace(" ","-","$text");

ลองดูครับ เพิ่มเติมที่ลิงค์ด้านล่าง
hปปp://php.net/manual/en/function.str-replace.php
บันทึกการเข้า
seowizard
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,119



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 26 ตุลาคม 2012, 17:22:03 »

น่าจะประมาณนี้ครับ
โค๊ด:

<form name="myform">
<input type="text" name="var1" size="25"><br>
<input type="submit" value="Submit">
</form>

รับค่าหลังจาก submit

$str_var = $_POST['var1'];
$str_var = str_replace(" ", "-", $str_var);

echo $str_var;
บันทึกการเข้า
joetiaw
สมุนแก๊งเสียว
*

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

กระทู้: 691



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

ใช้ str_replace ไม่ได้เหรอครับ  Tongue
บันทึกการเข้า

joetiaw
สมุนแก๊งเสียว
*

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

กระทู้: 691



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 26 ตุลาคม 2012, 17:23:22 »

...

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

kungbest
สมุนแก๊งเสียว
*

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

กระทู้: 670



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 26 ตุลาคม 2012, 17:26:13 »

โค๊ด:
$text="Mayong So Much";
echo str_replace(" ","-","$text");

ลองดูครับ เพิ่มเติมที่ลิงค์ด้านล่าง
hปปp://php.net/manual/en/function.str-replace.php
ถ้าจะเปลี่ยนแบบดื้อๆ ก็ตามนี้คับ ใช้ฟังก์ชั่น str_replace

ส่วนจะเอาไปประยุกต์ก็ต้องดูว่าจะใช้งานแบบไหนคับ
 wanwan020
บันทึกการเข้า

มายองเนสจัง
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,137



ดูรายละเอียด
« ตอบ #7 เมื่อ: 26 ตุลาคม 2012, 17:29:05 »

ทำได้ละค่ะ ทำแบบมั่วๆ เอาแบบนี้

โค๊ด:
<?php
$word 
"$_POST[message]";
$newVariabe preg_replace('/\s+/''-'$word);  
echo 
"<div class='cutworld'>";
echo 
"$newVariabe";
echo 
"</div>";
?>



ขอบคุณที่แนะนำค่ะ  wanwan006
บันทึกการเข้า
ThaiMagic
คนรักเสียว
*

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

กระทู้: 105



ดูรายละเอียด
« ตอบ #8 เมื่อ: 26 ตุลาคม 2012, 18:42:41 »

ขอเก็บไปใช้อีกคนครับ  wanwan008
บันทึกการเข้า

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

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

กระทู้: 1,603



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 26 ตุลาคม 2012, 18:47:13 »

$string = "text ที่ต้องการ replace";
str_replace(" ","-","$string");

 wanwan003
บันทึกการเข้า
artmond
ก๊วนเสียว
*

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

กระทู้: 237



ดูรายละเอียด
« ตอบ #10 เมื่อ: 27 ตุลาคม 2012, 02:46:21 »

ไม่ทราบว่าจะนำไปใช้เป็น Slug หรือเปล่าครับ

ยังไงลองตรวจสอบรูปแบบให้ดีนะครับ เพราะโดยปกติมันจะมีอักขระพิเศษอื่นๆ อีกที่เราต้องแปลง
บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,099



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 02 พฤศจิกายน 2012, 22:34:07 »

ทำได้ละค่ะ ทำแบบมั่วๆ เอาแบบนี้

โค๊ด:
<?php
$word 
"$_POST[message]";
$newVariabe preg_replace('/\s+/''-'$word);  
echo 
"<div class='cutworld'>";
echo 
"$newVariabe";
echo 
"</div>";
?>



ขอบคุณที่แนะนำค่ะ  wanwan006
ถ้าเขียนฟอร์ม รับคำแล้วแสดงผล ก็ไม่ยากเท่าไร แต่ควรต้องป้องกันการถูกแฮ็กแบบ XSS (Cross Site Scripting) ด้วยนะครับ
ใช้ htmlentities() ก่อน echo ตัวแปรด้วยครับ
บันทึกการเข้า
ball6847
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 4,174



ดูรายละเอียด
« ตอบ #12 เมื่อ: 02 พฤศจิกายน 2012, 23:06:11 »

โค๊ด:
<?php

function sanitize_with_dashes($string$length 0)
{
$string preg_replace('~[^a-z0-9ก-๙\s\-]~iu'''$string);

if (is_numeric($length) AND $length AND mb_strlen($string) > $length)
$string mb_substr($string0$length);

$string trim($string);
$string preg_replace('~\s+~''-'$string);
$string strtolower($string);

return $string;
}



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

หน้า: [1]   ขึ้นบน
พิมพ์