[Twig] - Hàm chuyển đổi từ dạng Bbcode thành HTML đơn giản
![[Twig] - Hàm chuyển đổi từ dạng Bbcode thành HTML đơn giản](https://i.imgur.com/RydTLG7.png)

Cũng không có gì đặc sắc, có thể dùng cách này để sử dụng trên wap4 hoặc xtgem nha, vì sacmau có hỗ trợ hàm preg_replace rồi nên không cần thiết nữa. Cái này share cho ai chưa biết ạ ^^
Đây là Macro:
{% macro bbcodeToHtml〔bbcode〕 %}
{% set html = bbcode %}
{% set bbCodes = [
{ tag: '\\[b\\]〔.*?〕\\[/b\\]', replace: '<strong>$1</strong>' },
{ tag: '\\[i\\]〔.*?〕\\[/i\\]', replace: '<em>$1</em>' },
{ tag: '\\[u\\]〔.*?〕\\[/u\\]', replace: '<u>$1</u>' },
{ tag: '\\[img\\]〔.*?〕\\[/img\\]', replace: '<img src=❝$1❞>' }
] %}
{% for bbCode in bbCodes %}
{% set html = html|replace〔{ 〔bbCode.tag〕: bbCode.replace }〕 %}
{% endfor %}
{{ html }}
{% endmacro %}
Cách sử dụng:
{{ bbcodeToHtml〔❝[ b ]Hello[ / b ] [ i ]world[ / i ]❞〕 }}
Và kết quả:
<strong>Hello</strong> <em>world</em>
Helloworld
{# Convert BBCode to HTML #}
{% set bbcode_to_html = {
'': '<strong>',
'': '</strong>',
'': '<em>',
'': '</em>',
'': '<u>',
'': '</u>',
'': '<a href=❝https://example.com❞>',
'': '</a>'
} %}
{% set content = content|replace〔bbcode_to_html〕 %}
{# Convert Markdown to HTML #}
{% set markdown_to_html = {
'# ': '<h1>',
'## ': '<h2>',
'### ': '<h3>',
'#### ': '<h4>',
'##### ': '<h5>',
'###### ': '<h6>',
'**': '<strong>',
'*': '<em>',
'---': '<hr>',
'> ': '<blockquote>',
'`': '<code>',
'- ': '<li>',
'1. ': '<ol><li>',
'\n': '</li>\n'
} %}
{% set content = content|replace〔markdown_to_html〕 %}
{# Output the final HTML content #}
{{ content|raw }}
-
Tạo blog mô hình MVC sử dụng SQL
July 02, 2024 -
Mô hình MVC và NOSQL là gì
July 01, 2024 -
Twig và các Filter mặc định
July 02, 2024
Bài viết Phổ biến
Mô hình MVC và NOSQL là gì
(7013 lượt xem)
Twig và các function mặc định
(7116 lượt xem)
Ngoài Alwaysdata và Heroku ra còn dịch vụ hosting nào tương tự ?
(18397 lượt xem)
Twig và các Filter mặc định
(10724 lượt xem)
DMCA là gì ? Cách thức hoạt động và sử dụng nó
(14475 lượt xem)
Đối tác - Bạn hữu