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

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

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

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

กระทู้: 1,291



ดูรายละเอียด
« เมื่อ: 31 พฤษภาคม 2014, 17:15:05 »

PHP ถ้าต้องการตัดคำ ตัดฝั่งขวาออก  ทำไงครับ

ตัวอย่าง มีข้อมูลเป็นรูปแบบอีเมลล์แบบนี้
โค๊ด:

ทุกชื่อจะมี@motor-auto.co.th ต่อท้ายเสมอ 
ต้องการตัด @motor-auto.co.th  ตัดออกไป ให้เหลือแค่ชื่อเดี่ยวๆ
ต้องทำยังไง  ใช้ฟังก์ชั่นไหนครับ

ขอบคุณครับ
 wanwan017
บันทึกการเข้า
Synchronize
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,231



ดูรายละเอียด
« ตอบ #1 เมื่อ: 31 พฤษภาคม 2014, 17:24:35 »

ใช้ substr กับ strpos คู่กันก็ตัดได้ ครับ

เช่น

echo substr('[email protected]', 0, strpos('[email protected]', '@'));

จะเหลือแค่ somchaik

ถ้าเอาใส่ loop ก็จะได้ โค้ดประมาณนี้

$array = array(
    '[email protected]',
    '[email protected]',
    '[email protected]',
    '[email protected]'
);

foreach($array as $x => $v)
{
    $array[$x] = substr($v, 0, strpos($v, '@'));
}

แล้วก็ลอง  print_r($array);  ออกมาดู

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

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

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

กระทู้: 1,291



ดูรายละเอียด
« ตอบ #2 เมื่อ: 31 พฤษภาคม 2014, 17:31:11 »

ใช้ substr กับ strpos คู่กันก็ตัดได้ ครับ

เช่น

echo substr('[email protected]', 0, strpos('[email protected]', '@'));

จะเหลือแค่ somchaik

ถ้าเอาใส่ loop ก็จะได้ โค้ดประมาณนี้

$array = array(
    '[email protected]',
    '[email protected]',
    '[email protected]',
    '[email protected]'
);

foreach($array as $x => $v)
{
    $array[$x] = substr($v, 0, strpos($v, '@'));
}

แล้วก็ลอง  print_r($array);  ออกมาดู

 wanwan017

ขอบคุณมากครับ  wanwan017 +1  ฝีมือไม่ธรรมดา
ทดสอบแล้ว OKเลยครับ
บันทึกการเข้า
adidog
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,859



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 31 พฤษภาคม 2014, 17:38:08 »

อีกวิธีใช้ explode ก็ได้ครับ
$a = explode('@',$str);
echo $a[0];
บันทึกการเข้า

Certain Dri Certain Dri
คุณแม่มือใหม่ คุณแม่มือใหม่
tanutsun
ก๊วนเสียว
*

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

กระทู้: 485



ดูรายละเอียด
« ตอบ #4 เมื่อ: 31 พฤษภาคม 2014, 21:17:35 »

อีกวิธีใช้ explode ก็ได้ครับ
$a = explode('@',$str);
echo $a[0];

เห็นด้วยคร้าบบบ Embarrassed
บันทึกการเข้า
hockie15
คนรักเสียว
*

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

กระทู้: 120



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 02 มิถุนายน 2014, 15:46:10 »

อีกวิธีใช้ explode ก็ได้ครับ
$a = explode('@',$str);
echo $a[0];

เห็นด้วยคร้าบบบ Embarrassed

อีกเสียงครับ  wanwan014
บันทึกการเข้า

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

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

กระทู้: 557



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 02 มิถุนายน 2014, 15:58:44 »

โค๊ด:
$s = <<<EEE
[email protected]
[email protected]
[email protected]
[email protected]
EEE;

echo '<pre>';
echo preg_replace('/@.*/','',$s);
echo '</pre>';
บันทึกการเข้า

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