gpt4 book ai didi

数据库中的 HTML 替换为 bbcode

转载 作者:行者123 更新时间:2023-11-29 21:39:04 25 4
gpt4 key购买 nike

我在互联网上找到了一些来自 bbcode 的脚本,例如 [b] 替换

function bbcodehtml($bbtext){
$bbtags = array(
'[b]' => '<strong>','[/b]' => '</strong>',
'[i]' => '<em>','[/i]' => '</em>',
'[u]' => '<span style="text-decoration: underline;">', '[/u]' => '</span>',
'[code]' => '<blockquote>','[/code]' => '</blockquote>'
);

$bbtext = str_ireplace(array_keys($bbtags), array_values($bbtags), $bbtext);

$bbextended = array(
"/\[url](.*?)\[\/url]/i" => "<a target=\"_blank\" href=\"http://$1\" title=\"$1\">$1</a>",
"/\[url=(.*?)\](.*?)\[\/url\]/i" => "<a target=\"_blank\" href=\"$1\" title=\"$1\">$2</a>",
"/\[img\]([^[]*)\[\/img\]/i" => "<img style=\"max-width:700px;\" src=\"$1\" alt=\" \" />",
"/\[image\]([^[]*)\[\/image\]/i" => "<img style=\"max-width:700px;\" src=\"$1\" alt=\" \" />"
);

foreach($bbextended as $match=>$replacement){
$bbtext = preg_replace($match, $replacement, $bbtext);
}
return $bbtext;
}

但是现在,当我想在文本区域中显示内容时,我无法将 HTML 替换为 BBcodes..我尝试更改 preg_replace 的值,但出现错误..

最佳答案

嗯...

1) 你的代码有很多安全问题。以一为例。用户可以像这样编写 XSS 攻击文本:

[img]" onmouseover="alert(document.cookie);[/img]

2) 您在数据库上必须有两个字段,其中第一个字段包含源(未替换的 bb 代码)文本,第二个字段包含替换的(只读 html)文本。对于这种情况,您只能运行替换过程(bb 到 html)来创建或编辑文本操作。

关于数据库中的 HTML 替换为 bbcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34688646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com