Lỗi không xuống dòng được khi dùng hàm strip_shortcodes()
Giả sử chúng ta soạn thảo một post có nội dung như sau: Góc Kinh Nghiệm xin chào bà con! Các bạn vẫn khỏe chứ? [my_short_code id="2"] Nhưng khi hiển thị bạn muốn loại bỏ shortcode, và chỉ muốn hiển thị text của bài post mà thôi. Chính vì vậy mà dùng hàm strip_shortcodes() để loại bỏ ...
Giả sử chúng ta soạn thảo một post có nội dung như sau:
Góc Kinh Nghiệm xin chào bà con! Các bạn vẫn khỏe chứ? [my_short_code id="2"]
Nhưng khi hiển thị bạn muốn loại bỏ shortcode, và chỉ muốn hiển thị text của bài post mà thôi. Chính vì vậy mà dùng hàm strip_shortcodes() để loại bỏ shortcode [my_short_code id=”2″] ở trên.
Code dùng hàm strip_shortcodes() như sau:
$content = $post->post_content; echo strip_shortcodes($content);
Thì thu được kết quả như sau:
Góc Kinh Nghiệm xin chào bà con!Các bạn vẫn khỏe chứ?
Như chúng ta thấy đấy, hàm strip_shortcodes() đã loại bỏ ký tự xuống hàng của bài post của chúng ta, dẫn đến 2 câu trên dính lại với nhau. Để khắc phục điều này trước khi dùng hàm strip_shortcodes() chúng ta dùng hàm nl2br() của PHP để chuyển những ký tự xuống dòng sang thẻ <br/> của html. Thì lúc đó hàm strip_shortcodes() sẽ không lọc bỏ ký tự xuống dòng.
Code được viết lại như sau:
$content = nl2br( $post->post_content); echo strip_shortcodes($content);
Kết quả thu được như mong đợi:
Góc Kinh Nghiệm xin chào bà con! Các bạn vẫn khỏe chứ?
Góc Kinh Nghiệm chúc các bạn thành công!