10/10/2018, 10:37

Giúp mình cách sử dụng RegExp lọc text

Mình có 1 đoạn text sau
"<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong><p>bỏ</p><h2>bỏ</h2>a b c d e r..."

Mình phải sử dụng RegExp như thế nào để bỏ hết các tag không cần thiết
Chỉ lất nguyên 3 tag là <em><b><strong>
để kết quả ra là:
<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong>
tuanit85 viết 12:45 ngày 10/10/2018
Được gửi bởi mailsaveword
Mình có 1 đoạn text sau
"<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong><p>bỏ</p><h2>bỏ</h2>a b c d e r..."

Mình phải sử dụng RegExp như thế nào để bỏ hết các tag không cần thiết
Chỉ lất nguyên 3 tag là <em><b><strong>
để kết quả ra là:
<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong>
Cái này đâu cần đến RegExp đâu bạn, dùng hàm strip_tags() trong PHP ý
PHP Code:
$str "<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong><p>bỏ</p><h2>bỏ</h2>a b c d e r...";
echo 
strip_tags($str'<em><b><strong>'); // Giữ lại 3 tag <em><b><strong> trong chuỗi của bạn
// Tag em Tag B Tag Strongbỏbỏa b c d e r... 
thuyduongcd viết 12:53 ngày 10/10/2018
Chú ý phân biệt giữa strip_tags và Regexp.
strip_tags: chỉ loại bỏ các tag, phần nội dung vẫn giữ nguyên

Trong ví dụ trên nếu dùng strip_tags, những chữ bỏ phía sau vẫn được giữ lại.
mailsaveword viết 12:39 ngày 10/10/2018
cảm ơn 2 bạn. Nhưng mình cần là sử dụng Regexp
-> vì strip_tags không bỏ được cái a b c d e r...
-> Mình còn phải loại bỏ cả các sự kiện như onclick và onmouseover nữa nên mình mới sử dụng Regexp

Được gửi bởi mailsaveword
Mình có 1 đoạn text sau
"<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong><p>bỏ</p><h2>bỏ</h2>a b c d e r..." --> a b c d e r...

Mình phải sử dụng RegExp như thế nào để bỏ hết các tag không cần thiết
Chỉ lất nguyên 3 tag là <em><b><strong>
để kết quả ra là:
<em>Tag em</em> <b>Tag B</b> <strong>Tag Strong</strong>
honnhienh viết 12:45 ngày 10/10/2018
cái này hơi khó ha. để em thử đang học cái này. thấy nó là nghiền rùi. Bác làm được thì post lên tham khảo với nha.
s.code viết 12:45 ngày 10/10/2018
preg_replace('/<em[^>]*\>[^>]*\<\/em\>/isU', '', $st);
preg_replace('/<b[^>]*\>[^>]*\<\/b\>/isU', '', $st);
preg_replace('/<strong[^>]*\>[^>]*\<\/strong\>/isU', '', $st);
mailsaveword viết 12:50 ngày 10/10/2018
Thank s.code nhiều
mình làm được rồi
Bài liên quan
0