Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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 BBCode preg“更换带或不带”的变更链接;http://quot;_Php - Fatal编程技术网

Php BBCode preg“更换带或不带”的变更链接;http://quot;

Php BBCode preg“更换带或不带”的变更链接;http://quot;,php,Php,我正在为我的站点开发一个解析器,我遇到了一个问题——是否有从字符串用户preg_replace中删除/插入“http://”的方法?我知道如何使用该函数的基本知识,并且一直在学习教程,但我不确定如何进行 这是我的密码: function showBBcodes($text) { // BBcode array $find = array( '~\[b\](.*?)\[/b\]~s', '~\[i\](.*?)\[/i\]~s', '~\[u

我正在为我的站点开发一个解析器,我遇到了一个问题——是否有从字符串用户preg_replace中删除/插入“http://”的方法?我知道如何使用该函数的基本知识,并且一直在学习教程,但我不确定如何进行

这是我的密码:

    function showBBcodes($text) 
{   
    // BBcode array
    $find = array(
    '~\[b\](.*?)\[/b\]~s',
    '~\[i\](.*?)\[/i\]~s',
    '~\[u\](.*?)\[/u\]~s',
    '~\[quote\](.*?)\[/quote\]~s',
    '~\[size=(.*?)\](.*?)\[/size\]~s',
    '~\[color=(.*?)\](.*?)\[/color\]~s',
    '~\[url=([^]]*)\]([^[]*)\[/url\]~s',
    '~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s'
    );
    // HTML tags to replace BBcode
    $replace = array(
    '<b>$1</b>',
    '<i>$1</i>',
    '<span style="text-decoration:underline;">$1</span>',
    '<pre>$1</'.'pre>',
    '<span style="font-size:$1px;">$2</span>',
    '<span style="color:$1;">$2</span>',
    '<a href="https://$1">$2\</a>',
    '<img src="$1" alt="" />'
    );

    // Replacing the BBcodes with corresponding HTML tags
    return preg_replace($find,$replace,$text);
}
函数showBBcodes($text)
{   
//BBcode数组
$find=数组(
“~\[b\](.*?\[/b\]~s”,
“~\[i\](.*?\[/i\]~s”,
“~\[u\](.*?\[/u\]~s”,
“~\[quote\](.*?\[/quote\]~s”,
“~\[size=(.*?\])(.*?\[/size\]~s”,
“~\[color=(.*?\])(.*?\[/color\]~s”,
“~\[url=([^]]*)\]([^[]*)\[/url\]~s”,
“~\[img\](https?:/.*?\(?:jpg | jpeg | gif | png | bmp))\[/img\]~s”
);
//替换BBcode的HTML标记
$replace=数组(
'$1',
'$1',
'$1',
'$1',
'$2',
'$2',
'',
''
);
//用相应的HTML标记替换BBCODE
返回preg_replace($find,$replace,$text);
}

你看过吗?什么?PHP网站可能有点枯燥,但使用起来肯定不难。我不明白你对评论部分的意思。它只是一个包含一些评论的部分…。@SverriM.Olsen我是说…评论部分的定义不好,或者至少不是我最后一次在网站上看到的最后一个站点。它会渗透到我正在查看的所有主要文档中(preg_replace是最糟糕的)。所以我不使用他们的网站。我没有说它很难使用,我说它杂乱无章,对我来说没有用处。你不能忽略这些评论吗?如果这些评论在默认情况下隐藏在视图中会有帮助吗?我可以看到它们可能有点太多。你不能从
$replace
数组中删除
https://
,我nstead将其放入
$find
数组中,类似于
'~\[url=(https?:/[^\]+)\]([^\[]*)\[/url\]~s'