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