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)); ?>