【问题标题】:Exclude BBCode tags from character count?从字符数中排除 BBCode 标签?
【发布时间】:2016-01-10 04:08:07
【问题描述】:

我目前正在为我的论坛(定制)使用 jBBCodes,我的字符数限制为 15k,但我的问题是字符数检查也会计算 bbcode 标签,例如 [b]Hey![/b] 会应该算4的时候算11。

计数检查;

    if (strlen($message)<5 || strlen($message)>15000) {
    die("<div style='text-align:center;' class='error'>The character limit is 5 to 15,000, your post was ".number_format(strlen($message))." character(s).</div><br>");
    }

我想知道如何排除 BBCodes 我不想排除 [ ] 人们确实将它用于其他事情,除此之外,任何人都可以 [message] 所以这是不可能的是否有任何可能的方法无需完整检查每个标签就可以做到这一点?

【问题讨论】:

  • 查找正则表达式。您将度过愉快的一天。
  • 请尝试我的库来解析短代码和 BBCode:github.com/thunderer/Shortcode。在此示例中,您只需要注册默认短代码,该短代码仅在处理后返回字符串的内容和计数长度。如果您需要任何帮助,请通过 GitHub 上的问题告诉我。

标签: count bbcode


【解决方案1】:

这对于正则表达式来说实际上是一个相当简单的任务。

基本上,如果您需要不包括 BBCodes 的字符串长度,则使用此标记:strlen(preg_replace('~\[(codes|to|match)](.*?)\[/\1]~g', '$2', $message))

【讨论】:

    猜你喜欢
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多