preg_match ต่างกับ preg_match_all ต่างกันตรงที่ preg_match_all สามารถจัดการกับชุดกลุ่มข้อมูลนึงที่ตรงเงื่อนไข แยกออกมาได้หลายชุด อาจจะงง เด๋วดูตัวอย่างคับ
โค้ด: เลือกทั้งหมด
$data = '[img:rjynm88v]http://2.bp.blogspot.com/_FFb-gRyU4yI/THdoDb4nsyI/AAAAAAAAAI4/OduYjfHRpzY/s1600/Picture17.png[/img:rjynm88v]
[img:rjynm88v]https://lh6.ggpht.com/7qPUFfamfkRE8P_rNTGzDVTPxfXdvE4NNb31TpWC9RO7PZZ9E7tQnnFXVQSkqWLZurA=h900[/img:rjynm88v]'
$con = preg_match('/\[img.*?\](.*?)\[\/img:(.*?).*/', $data, $results);
print_r($con);
echo "<br>";
print_r($results);
โค้ด: เลือกทั้งหมด
1<br>Array
(
[0] => [img:rjynm88v]http://2.bp.blogspot.com/_FFb-gRyU4yI/THdoDb4nsyI/AAAAAAAAAI4/OduYjfHRpzY/s1600/Picture17.png[/img:rjynm88v]
[1] => http://2.bp.blogspot.com/_FFb-gRyU4yI/THdoDb4nsyI/AAAAAAAAAI4/OduYjfHRpzY/s1600/Picture17.png
)
โค้ด: เลือกทั้งหมด
$data = '[img:rjynm88v]http://2.bp.blogspot.com/_FFb-gRyU4yI/THdoDb4nsyI/AAAAAAAAAI4/OduYjfHRpzY/s1600/Picture17.png[/img:rjynm88v]
[img:rjynm88v]https://lh6.ggpht.com/7qPUFfamfkRE8P_rNTGzDVTPxfXdvE4NNb31TpWC9RO7PZZ9E7tQnnFXVQSkqWLZurA=h900[/img:rjynm88v]'
$con = preg_match('/\[img.*?\](.*?)\[\/img:(.*?).*/', $data, $results);
print_r($con);
echo "<br>";
print_r($results);
โค้ด: เลือกทั้งหมด
2<br>Array
(
[0] => Array
(
[0] => [img:rjynm88v]http://2.bp.blogspot.com/_FFb-gRyU4yI/THdoDb4nsyI/AAAAAAAAAI4/OduYjfHRpzY/s1600/Picture17.png[/img:rjynm88v]
[1] => [img:rjynm88v]https://lh6.ggpht.com/7qPUFfamfkRE8P_rNTGzDVTPxfXdvE4NNb31TpWC9RO7PZZ9E7tQnnFXVQSkqWLZurA=h900[/img:rjynm88v]
)
[1] => Array
(
[0] => http://2.bp.blogspot.com/_FFb-gRyU4yI/THdoDb4nsyI/AAAAAAAAAI4/OduYjfHRpzY/s1600/Picture17.png
[1] => https://lh6.ggpht.com/7qPUFfamfkRE8P_rNTGzDVTPxfXdvE4NNb31TpWC9RO7PZZ9E7tQnnFXVQSkqWLZurA=h900
)
)