Dùng preg_match_all va preg_match để lấy 1 loạt các từ chỉ định ra

php

(Minh Anh Vũ) #1

Tai sao khi mình viết và chạy như thế này mà nó chỉ in ra 1 kết quả trong mảng ! Bác nào biết thì giúp e mới ! Em mới học php

<?php
$tin_rao = 'Cho thuê văn phòng chuyên nghiệp phố Phố Tây Sơn, Đống Đa, Hà Nội.
Đa dạng diện tích cho thuê từ 100m2,200m2 tới 1500m2.
Liên hệ Phương Bắc 0913572439.
Giá thuê từ 227.2 nghìn/m2/tháng gồm VAT.
Các tòa nhà điển hình :
+ Tòa nhà 187 Tây Sơn.
Là tòa nhà Complex 3 tầng thương mại và căn hộ cao cấp , mặt tiền 50m,giao thông thuận tiện và quảng bá tốt thương hiệu.
- Diện tích sàn 1000m2.
- 01 tầng hầm
- Hệ thống thang máy 05 thang, độc lập văn phòng và chung cư.
-Hệ thống điều hòa âm trần.
Quý khách có nhu cầu thuê và tham khảo thông tin miễn phí.
Mr Phương Bắc 0913572439 hoặc 0912828282.
Chị Mai 0968902117
Xin chân thành cảm ơn ! ';

$pattern = ‘/(“0913572439”)|(0912828282)|(0968902117){10,11}$/’;
preg_match($pattern,$tin_rao,$matches);
echo ‘

’;
print_r($matches);
echo ‘
’;
?>

output: 0913572439
minh muon lay het cac so dien thoai ra dung preg_match_all va preg_match ! Ai bieet chi minh voi ! thank


(Hà Hải Nam) #2

Bạn tạo bằng bằng kí tự trắng thì như thế là đúng rồi còn gì nữa. Cái mảng chứa xâu 0912828282 có cả dấu chấm, dấu xuống dòng và chũ Chị nữa, mảng chứa xâu 0968902117 có dấu xuống dòng và chữ Xin nữa. Bạn xem ảnh dưới để hiểu thêm nhé. Thêm nữa, bài của bạn format chưa chuẩn, edit lại bài viết đi nhé. Link hướng dẫn về markdown: https://gsviec.com/blog/huong-dan-su-dung-markdown


(Minh Anh Vũ) #3

Thank bác ! mình biết lỗi ở đâu rui


(Minh Anh Vũ) #4

Bac biet dung preg_match_all va preg_match de lay tat ca cac so dien thoai ko


(Hà Hải Nam) #5

Dùng đi rồi biết. :v


(Minh Anh Vũ) #6

Bac namhaiha0308 cho minh hoi la trong mấy cái biểu thức điều kiện như if-else đấy mình thấy trong if hay có dấu ! trước biểu thức điều kiện . Vậy dấu chấm than đấy có ý nghĩa là gi


(Hà Hải Nam) #7

!not, hiểu nôm na là phủ định, không.
Ví dụ như 1 != 2 => true vì 1 không thể bằng 2 được. 2 != 2 => false vì 2 phải bằng 2, 2 không bằng 2 là sai


(Minh Anh Vũ) #8

Thank ! Cho mình hỏi thêm là trong biểu thức chính quy mình hay thấy có dấu ?= vậy nó có ý nghĩa là gì , mình ko thấy có giải thích về hai dấu này. vi dụ như : ^(?=.sao\d)(?=.sao ngoặc vuông[A-Z] mở ngoặc tròn(?=.*\W).{8,8}$ ! Trong đây một số kí hiệu nó ko cho viết nên mình viết vậy


(HK boy) #9

Cái này bạn phải học nghiêm túc về regex nhé. Đọc link dưới để bắt đầu học:

https://regexone.com


(Minh Anh Vũ) #10

ban hoc chac regex khong team view ho minh voi


(HK boy) #11

Bạn gặp vướng mắc gì thì bạn nói ra luôn nha, việc gì phải teamview :expressionless:


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?