ฉันจะลบอักขระสุดท้ายเฉพาะในกรณีที่เป็นช่วงเวลาได้อย่างไร?
$string = "something here.";
$output = 'something here';
ฉันจะลบอักขระสุดท้ายเฉพาะในกรณีที่เป็นช่วงเวลาได้อย่างไร?
$string = "something here.";
$output = 'something here';
คำตอบ:
$output = rtrim($string, '.');
(อ้างอิง: rtrim บน PHP.net )
…
สิ่งนั้น หากคุณลบจุดสุดท้ายออก แต่ส่วนที่เหลือยังคงเป็นจุดชื่อคำถามจะไม่สมเหตุสมผลเท่าไหร่ใช่ไหม
การใช้ rtrim แทนที่ทั้งหมด "." ในตอนท้ายไม่ใช่แค่ตัวละครสุดท้าย
$string = "something here..";
echo preg_replace("/\.$/","",$string);
character_mask
ในtrim
โดยทั่วไปจะลบอินสแตนซ์ของตัวละครในสตริงทั้งหมด
ในการลบอักขระสุดท้ายก็ต่อเมื่อมันเป็นช่วงเวลาและไม่ใช้preg_replace
เราเพียงแค่ถือว่าสตริงเป็นอาร์เรย์ของอักขระและลบอักขระสุดท้ายถ้าเป็นจุด
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
===
แทน==
การตรวจสอบความเท่าเทียมกันของประเภทด้วย
ฉันรู้ว่าคำถามได้รับการแก้ไขแล้ว แต่คำตอบนี้อาจเป็นประโยชน์สำหรับใครบางคน
rtrim()
- ตัดช่องว่าง (หรืออักขระอื่น ๆ ) ออกจากท้ายสตริง
ltrim()
- ตัดช่องว่าง (หรืออักขระอื่น ๆ ) จากจุดเริ่มต้นของสตริง
trim()
- ตัดช่องว่าง (หรืออักขระอื่น ๆ ) จากจุดเริ่มต้นและจุดสิ้นสุดของสตริง
สำหรับการลบอักขระพิเศษออกจากจุดสิ้นสุดของสตริงหรือสตริงมีอักขระพิเศษแบบไดนามิกหรือไม่ในตอนท้ายเราสามารถทำได้โดย regex
preg_replace
- ทำการค้นหานิพจน์ทั่วไปและแทนที่
$regex = "/\.$/"; //to replace the single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
$regex = "/[.*?!@#$&-_ ]+$/"; //to replace all special characters (.*?!@#$&-_) from the end
$result = preg_replace($regex, "", $string);
นี่คือตัวอย่างบางส่วนเพื่อทำความเข้าใจเมื่อ$regex = "/[.*?!@#$&-_ ]+$/";
ถูกนำไปใช้กับสตริง
$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
ฉันหวังว่ามันจะเป็นประโยชน์สำหรับคุณ
ขอบคุณ :-)
ฉันรู้ว่าคำถามนั้นเก่า แต่คำตอบของฉันอาจเป็นประโยชน์สำหรับใครบางคน
$string = "something here..........";
ltrimจะลบจุดนำหน้า ตัวอย่างเช่น:-ltrim($string, ".")
rtrim rtrim($string, ".")
จะลบจุดต่อท้าย
ตัดแต่ง trim($string, ".")
จะลบจุดต่อท้ายและจุดนำหน้า
คุณสามารถทำได้โดย regex
preg_replaceจะลบออกสามารถใช้เพื่อลบจุด / จุดในตอนท้าย
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
ฉันหวังว่ามันจะเป็นประโยชน์สำหรับคุณ
อักขระสุดท้ายสามารถลบออกได้หลายวิธีนี่คือบางส่วน
rtrim()
$output = rtrim($string, '.');
Regular Expression
preg_replace("/\.$/", "", $string);
substr()
/ mb_substr()
echo mb_substr($string, 0, -1);
echo substr(trim($string), 0, -1);
substr()
ด้วย trim()
echo substr(trim($string), 0, -1);
คุณสามารถใช้ฟังก์ชัน rtrim ของ php ซึ่งช่วยให้คุณสามารถตัดแต่งข้อมูลที่มีอยู่ในตำแหน่งสุดท้ายได้
ตัวอย่างเช่น :
$trim_variable= rtrim($any_string, '.');
วิธีที่ง่ายและรวดเร็ว !!
ตัวอย่าง:
$columns = array('col1'=> 'value1', 'col2' => '2', 'col3' => '3', 'col4' => 'value4');
echo "Total no of elements: ".count($columns);
echo "<br>";
echo "----------------------------------------------<br />";
$keys = "";
$values = "";
foreach($columns as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
$keys = $keys."'".$x."',";
$values = $values."'".$x_value."',";
echo "<br>";
}
echo "----------------------Before------------------------<br />";
echo $keys;
echo "<br />";
echo $values;
echo "<br />";
$keys = rtrim($keys, ",");
$values = rtrim($values, ",");
echo "<br />";
echo "-----------------------After-----------------------<br />";
echo $keys;
echo "<br />";
echo $values;
?>
เอาท์พุต:
Total no of elements: 4
----------------------------------------------
Key=col1, Value=value1
Key=col2, Value=2
Key=col3, Value=3
Key=col4, Value=value4
----------------------Before------------------------
'col1','col2','col3','col4',
'value1','2','3','value4',
-----------------------After-----------------------
'col1','col2','col3','col4'
'value1','2','3','value4'
rtrim
ง่ายกว่าเยอะ ... !