บทช่วยสอนPHP

PHP HOME แนะนำ PHP การติดตั้ง PHP PHP ไวยากรณ์ ความคิดเห็น PHP ตัวแปร PHP PHP Echo / พิมพ์ ประเภทข้อมูล PHP PHP Strings หมายเลข PHP PHP คณิตศาสตร์ ค่าคงที่ PHP ตัวดำเนินการ PHP PHP If...Else...Elseif PHP Switch PHP Loops ฟังก์ชัน PHP PHP Arrays PHP Superglobals PHP RegEx

แบบฟอร์มPHP

การจัดการแบบฟอร์ม PHP การตรวจสอบแบบฟอร์ม PHP ต้องใช้แบบฟอร์ม PHP URL แบบฟอร์ม PHP/อีเมล แบบฟอร์ม PHP เสร็จสมบูรณ์

PHPขั้นสูง

วันที่และเวลา PHP รวม PHP การจัดการไฟล์ PHP ไฟล์ PHP เปิด/อ่าน สร้าง/เขียนไฟล์ PHP อัพโหลดไฟล์ PHP คุกกี้ PHP PHP Sessions ตัวกรอง PHP ตัวกรอง PHP ขั้นสูง ฟังก์ชันเรียกกลับของ PHP PHP JSON ข้อยกเว้น PHP

PHP OOP

PHP OOP คืออะไร คลาส PHP/วัตถุ ตัวสร้าง PHP PHP Destructor PHP Access Modifiers PHP Inheritance ค่าคงที่ PHP PHP Abstract Classes อินเทอร์เฟซ PHP PHP ลักษณะ PHP Static Methods PHP คุณสมบัติคงที่ PHP เนมสเปซ PHP Iterables

ฐานข้อมูลMySQL

ฐานข้อมูล MySQL MySQL Connect MySQL สร้าง DB MySQL สร้างตาราง MySQL แทรกข้อมูล MySQL รับ ID ล่าสุด MySQL แทรกหลายรายการ MySQL ที่เตรียมไว้ MySQL Select Data MySQL Where MySQL สั่งซื้อโดย MySQL ลบข้อมูล ข้อมูลอัพเดต MySQL MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - รับ PHP XML Expat PHP XML DOM

PHP - AJAX

บทนำ AJAX AJAX PHP ฐานข้อมูล AJAX AJAX XML AJAX ค้นหาสด AJAX โพล

ตัวอย่างPHP

ตัวอย่าง PHP PHP คอมไพเลอร์ แบบทดสอบ PHP แบบฝึกหัด PHP ใบรับรอง PHP

ข้อมูลอ้างอิงPHP

ภาพรวม PHP PHP Array ปฏิทิน PHP PHP วันที่ ไดเรกทอรี PHP ข้อผิดพลาด PHP ข้อยกเว้น PHP ระบบไฟล์ PHP ตัวกรอง PHP PHP FTP PHP JSON คีย์เวิร์ด PHP PHP Libxml PHP Mail PHP คณิตศาสตร์ PHP เบ็ดเตล็ด PHP MySQLi เครือข่าย PHP การควบคุมเอาต์พุต PHP PHP RegEx PHP SimpleXML PHP Stream PHP String การจัดการตัวแปร PHP PHP XML Parser PHP Zip เขตเวลา PHP

PHP preg_replace_callback_array()ฟังก์ชั่น

❮ การอ้างอิง PHP RegExp

ตัวอย่าง

แสดงจำนวนตัวอักษรหรือตัวเลขที่พบในแต่ละคำในประโยค:

<?php
function countLetters($matches) {
  return $matches[0] . '[' . strlen($matches[0]) . 'letter]';
}

function countDigits($matches) {
  return $matches[0] . '[' . strlen($matches[0]) . 'digit]';
}

$input = "There are 365 days in a year.";
$patterns = [
  '/\b[a-z]+\b/i' => 'countLetters',
  '/\b[0-9]+\b/' => 'countDigits'
];
$result = preg_replace_callback_array($patterns, $input);
echo $result;
?>

ความหมายและการใช้งาน

ฟังก์ชันpreg_replace_callback_array()ส่งคืนสตริงหรืออาร์เรย์ของสตริงที่ตรงกับชุดของนิพจน์ทั่วไปจะถูกแทนที่ด้วยค่าส่งคืนของฟังก์ชันเรียกกลับ

หมายเหตุ:สำหรับแต่ละสตริง ฟังก์ชันจะประเมินรูปแบบตามลำดับที่กำหนด ผลลัพธ์ของการประเมินรูปแบบแรกบนสตริงนั้นถูกใช้เป็นสตริงอินพุตสำหรับรูปแบบที่สองเป็นต้น นี้สามารถนำไปสู่พฤติกรรมที่ไม่คาดคิด


ไวยากรณ์

preg_replace_callback_array(patterns, input, limit, count)

ค่าพารามิเตอร์

Parameter Description
pattern Required. An associative array which associates regular expression patterns to callback functions.

The callback functions have one parameter which is an array of matches.The first element in the array contains the match for the whole expression while the remaining elements have matches for each of the groups in the expression.
input Required. The string or array of strings in which replacements are being performed
limit Optional. Defaults to -1, meaning unlimited. Sets a limit to how many replacements can be done in each string
count Optional. After the function has executed, this variable will contain a number indicating how many replacements were performed

รายละเอียดทางเทคนิค

คืนมูลค่า: ส่งกลับสตริงหรืออาร์เรย์ของสตริงที่เกิดจากการใช้การแทนที่กับสตริงอินพุตหรือสตริง
รุ่น PHP: 7+

ตัวอย่างเพิ่มเติม

ตัวอย่าง

ตัวอย่างนี้แสดงให้เห็นถึงผลกระทบที่ไม่คาดคิดที่อาจเกิดขึ้นจากรูปแบบที่กำลังได้รับการประเมินตามลำดับ ขั้นแรก การแทนที่ countLetters จะเพิ่ม "[4letter]" เป็น "days" และหลังจากที่ทำการแทนที่แล้ว การแทนที่ countDigits จะค้นหา "4" ใน "4letter" และเพิ่ม "[1digit]" ลงไป:

<?php
function countLetters($matches) {
  return $matches[0] . '[' . strlen($matches[0]) . 'letter]';
}

function countDigits($matches) {
  return $matches[0] . '[' . strlen($matches[0]) . 'digit]';
}

$input = "365 days";
$patterns = [
  '/[a-z]+/i' => 'countLetters',
  '/[0-9]+/' => 'countDigits'
];
$result = preg_replace_callback_array($patterns, $input);
echo $result;
?>

❮ การอ้างอิง PHP RegExp