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>
"<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>
Bài liên quan
$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...
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.
-> 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
preg_replace('/<b[^>]*\>[^>]*\<\/b\>/isU', '', $st);
preg_replace('/<strong[^>]*\>[^>]*\<\/strong\>/isU', '', $st);
mình làm được rồi