Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php正则表达式[b]到<;b>;_Php_Regex_Bbcode - Fatal编程技术网

php正则表达式[b]到<;b>;

php正则表达式[b]到<;b>;,php,regex,bbcode,Php,Regex,Bbcode,我现在的正则表达式工作正常吗。但是我想把[]改为。但它不起作用。。。除了[]之外,我还需要更改什么。请尝试使用~作为分隔符 "'\[b\](.*?)\[/b\]'is", preg_match(“(.*is)”,$text,$b); 例如,PHP有一些可用的 这使您可以简单地手动定义替换规则: preg_match("~<b>(.*?)</b>~is", $text, $b); echo bbcode\u解析( bbcode_创建( 排列( “b”=>数组(

我现在的正则表达式工作正常吗。但是我想把[]改为。但它不起作用。。。除了[]之外,我还需要更改什么。

请尝试使用
~
作为分隔符

  "'\[b\](.*?)\[/b\]'is",
preg_match(“(.*is)”,$text,$b);
例如,PHP有一些可用的

这使您可以简单地手动定义替换规则:

preg_match("~<b>(.*?)</b>~is", $text, $b);
echo bbcode\u解析(
bbcode_创建(
排列(
“b”=>数组(
'type'=>BBCODE\u type\u NOARG,
'打开标签'=>'',
“关闭标签”=>“
)
)
),
“[b]粗体文本[/b]”
);
//打印粗体文本
另外,请检查有关BBCode解析器的各种类似问题:


你能发布一些你试图替换的文本以及你希望输出的内容吗?一条建议,不要这样做-如果你解析多个标记,你可以得到类似“loremipsumipsum”的东西。不要使用regexp解析BBCode或任何其他标记语言-逐字符解析,否则将得到无效结果。+1到@Griwes comment。有无数的解决方案(包括PECL和PEAR库)可以为您完成这项工作,比使用regex进行黑客攻击要成功得多。如果要使用发布伪语言,您应该标记数据,而不是存储原始HTML。(基本上,您以半解析状态存储它。)从:分隔符可以是任何非字母数字、非反斜杠、非空白字符。因此,
作为分隔符是完全有效的。
echo bbcode_parse(
    bbcode_create(
        array(
            'b' => array(
                'type'      => BBCODE_TYPE_NOARG,
                'open_tag'  => '<b>',
                'close_tag' => '</b>'
            )
        )
    ),
    '[b]Bold Text[/b]'
);
// prints <b>Bold Text</b>