【问题标题】:How would I get the length of a string without bbcode tags?我如何获得没有 bbcode 标签的字符串的长度?
【发布时间】:2013-07-30 03:37:44
【问题描述】:

我有一个带有两组数组的自定义 bb 代码脚本。第一个数组是 bb 标签的集合,第二个是 html 标签。我想查找用户帖子的长度,但不包括标签的内容。例如,[b]Hello, world![/b] 的长度为 12,因为标签内有字符串。像 [img]http://www.mydomain.com/images/myimage.gif[/img] 这样的东西会是 0。

我想找到这个,因为我想要一个“经验点”系统,让用户通过创建话题和回复来获得 XP,但我不希望他们通过这样的标签获得积分。

$find = array(
            "'\[b\](.*?)\[/b\]'is",
            "'\[i\](.*?)\[/i\]'is",
            "'\[u\](.*?)\[/u\]'is",
            "'\[s\](.*?)\[/s\]'is",
            "'\[img\](.*?)\[\/img\]'is",
            "'\[url\](.*?)\[/url\]'i",
            "'\[url=(.*?)\](.*?)\[/url\]'i",
            "'\[link\](.*?)\[/link\]'i",
            "'\[link=(.*?)\](.*?)\[/link\]'i",
            "'\[h1\](.*?)\[\/h1\]'is",
            "'\[h2\](.*?)\[\/h2\]'is",
            "'\[h3\](.*?)\[\/h3\]'is",
            "'\[ul\](.*?)\[\/ul\]'is",
            "'\[li\](.*?)\[\/li\]'is",
            "'\[p\](.*?)\[\/p\]'is"
        );

        $replace = array(
            '<strong>\1</strong>',
            '<em>\1</em>',
            '<u>\1</u>',
            '<s>\1</s>',
            '<img src="\1" \1alt="User Image" />',
            '<a href="\1">\1</a>',
            '<a href="\1">\2</a>',
            '<a href="\1">\1</a>',
            '<a href="\1">\2</a>',
            '<h1>\1</h1>',
            '<h2>\1</h2>',
            '<h3>\1</h3>',
            '<ul>\1</ul>',
            '<li>\1</li>',
            '<p>\1</p>'
        );

【问题讨论】:

  • 你能澄清一下你的问题吗...[b]Hello, world![/b] would be a length of 12 because of the string inside the tags.你算什么?标点符号的空格?因为这个字符串应该是 13。是否会为更长的字符串奖励积分? XP点与字符串长度有什么关系?这样的字符串标签没有积分??

标签: php bbcode string-length


【解决方案1】:

将 strlen() 与本文接受的答案中的 preg 模式结合起来:How to remove BB codes from a string?

对于 HTML,使用 strip_tags()。 http://www.php.net/manual/en/function.strip-tags.php

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 2015-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 2014-08-07
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多