PHP str_replace() ການນຳໃຊ້

ຄວາມນຳໃຊ້

ປ່ຽນຄວາມ "Hello world!" ຈາກ "world" ເປັນ "Shanghai":

<?php
echo str_replace("world","Shanghai","Hello world!");
?>

ຫົວຂໍ້ການດຳເນີນພາຍໃນ

ການອະທິບາຍ ແລະ ການນໍາໃຊ້

ກອງການ str_replace() ຈະປ່ຽນຄວາມບາງຄວາມໃນຄວາມຫລັງກັບຄວາມອື່ນ (ຫາງຄວາມແມ່ນຫຍິງຄວາມຂື້ນຕົກຕັ້ງ).

ກອງການນີ້ຈະຕ້ອງປະຕິບັດຕາມຕໍ່ປະກອບກົດລະບຽບດັ່ງຕໍ່ມາ:

  • ຖ້າຈະຫາງຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ຈະຈະຫາງຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ແລະ ຈະຖືກກັບຄືນວ່າລະບົບວັດຖຸ.
  • ຖ້າຈະຫາງຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ຈະຈະຫາງຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ແລະ ປ່ຽນປະຕິບັດທັງໝົດ.
  • ຖ້າຈະຫາງຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ແລະ ປ່ຽນປະຕິບັດຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ແລະ ຈຸດຫາຫລາຍກວ່າຈຸດປ່ຽນປະຕິບັດ ຈຸດຫລາຍນັ້ນຈະຖືກປ່ຽນດ້ວຍຄວາມວ່າຫຍິງ.
  • ຖ້າຈະຫາງຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ແລະ ປ່ຽນປະຕິບັດຈາກລະບົບວັດຖຸອີກຢ່າງໜຶ່ງ ຄວາມປ່ຽນປະຕິບັດຈະຕົກກະຕຸ້ນຕໍ່ກັບຈຸດຫາທັງໝົດ.

ຄວາມເຫັນ:ກອງການນີ້ຈະຫາງຄວາມມີຄວາມແມ່ນຫຍິງຄວາມຂື້ນຕົກຕັ້ງ. ຂ້ອຍຈະໃຊ້: str_ireplace() ກອງການນີ້ຈະການຄົ້ນຫາບໍ່ມີການຫາງຄວາມແມ່ນຫຍິງຄວາມຂື້ນຕົກຕັ້ງ.

ຄວາມເຫັນ:ກອງການນີ້ແມ່ນປອດໄພບໍ່ຕ້ອງການການຂະໜາດບາດທີ່ສອງລັກສະນະ.

ກົນລະບຽບ

str_replace(", ", ", ")find,replace,string,count)
参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find ຂອງຄວາມທີ່ຕ້ອງຫາ.
string ຈຳນວຍ. ຄຳນວຍທີ່ຕ້ອງຫາ.
count ທົດສະນະ. ຄວາມຈຳນວນຂອງຄຳນວຍທີ່ປ່ຽນ.

ລາຍລະອຽດດ້ານເຕັກນິກ

ຄຳນວຍກັບຄຳນວຍ: ກັບຄຳນວຍທີ່ປ່ຽນຫຼືຄວາມທີ່ຫຼັງສີ່ວຽນ.
PHP Version: 4+
ບັນທຶກການປັບປຸງ:

ໃນ PHP 5.0, ໄດ້ເພີ່ມ count ຂໍ້ມູນຂອງປະຕິບັດຕາມຂັ້ນຕອນສິບສີ່.

ກ່ອນ PHP 4.3.3, ຂໍ້ມູນຂອງຫົວຂໍ້ວິສະວະກອນນີ້: find ທັງ replace ບໍ່ມີບັນດາຄວາມທີ່ສະເໝີຫຼາຍບໍ່ມີບັນດາຄວາມທີ່ຖືກຫາ. find ບໍ່ມີການປ່ຽນຄຳນວຍໃນຄຳນວຍເຂດພາຍໃນ. replace ຈະຖືກລົບລ້າງໃນສະບັບໃໝ່.

ຕັ້ງແຕ່ PHP 4.0.5, ສິ່ງທັງໝົດຂອງປະຕິບັດຕາມຂັ້ນຕອນສິບສີ່.

ກໍານົດຫຼາຍຫຼັງນີ້

ກໍານົດ 1

ການນໍາໃຊ້ທີ່ມີບັນດາຄວາມ ແລະ count ຫົວຂໍ້ວິສະວະກອນ str_replace() ຂອງບັນດາຄວາມ:

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "ຈຳນວນການປ່ຽນ: $i";
?>

ຫົວຂໍ້ການດຳເນີນພາຍໃນ

ກໍານົດ 2

ການນໍາໃຊ້ str_replace() ທີ່ມີປະກອບປະກອນທີ່ຕ້ອງຫາຫຼາຍກວ່າມີຫຼາຍທີ່ຕ້ອງຫາ:

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>

ຫົວຂໍ້ການດຳເນີນພາຍໃນ