Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/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 bbcode&;preg_更换不工作_Php_Preg Replace_Bbcode - Fatal编程技术网

Php bbcode&;preg_更换不工作

Php bbcode&;preg_更换不工作,php,preg-replace,bbcode,Php,Preg Replace,Bbcode,我将此代码用于bbcode替换为我的表格: // BBcode conversion $message = $this->request->data['Minichat']['message']; $conversion = array( '\[b\](.*?)\[\/b\]' => '<span style="font-weight: bold;">$1</span>', '\[i\](.*?)\[\/i\]' => '<s

我将此代码用于bbcode替换为我的表格:

// BBcode conversion
$message = $this->request->data['Minichat']['message'];
$conversion = array(
    '\[b\](.*?)\[\/b\]' => '<span style="font-weight: bold;">$1</span>',
    '\[i\](.*?)\[\/i\]' => '<span style="font-style: italic;">$1</span>',
    '\[u\](.*?)\[\/u\]' => '<span style="text-decoration: underline;">$1</span>'
);
// Boucle qui mouline les règles précédentes
foreach ($conversion as $k=>$v) {
    $final_message = preg_replace('/'.$k.'/',$v,$message);
}
$final_message = nl2br($final_message);
//BBcode转换
$message=$this->request->data['Minichat']['message'];
$conversion=数组(
“\[b\]”(.*?\[\/b\]”=>“$1”,
“\[i\]”(.*?\[\/i\]”=>“$1”,
“\[u\]”(.*?\[\/u\]”=>“$1”
);
//这是我的朋友
foreach($转换为$k=>$v){
$final_message=preg_replace(“/”.$k./”,$v,$message);
}
$final_message=nl2br($final_message);

返回$final_消息(POST没有问题),但没有替换。。有什么问题吗?

问题在于,
$conversion
循环的每次迭代都会替换
$final\u message
变量的最后一个实例。一种解决方案是这样命名初始变量:

$final_message = $this->request->data['Minichat']['message'];
然后每次在循环中反馈该变量:

foreach ($conversion as $k=>$v) {
    $final_message = preg_replace('/'.$k.'/',$v,$final_message);
}
$final_message = nl2br($final_message);

问题是,
$conversion
循环的每次迭代都会替换
$final\u message
变量的最后一个实例。一种解决方案是这样命名初始变量:

$final_message = $this->request->data['Minichat']['message'];
然后每次在循环中反馈该变量:

foreach ($conversion as $k=>$v) {
    $final_message = preg_replace('/'.$k.'/',$v,$final_message);
}
$final_message = nl2br($final_message);

问题是,
$conversion
循环的每次迭代都会替换
$final\u message
变量的最后一个实例。一种解决方案是这样命名初始变量:

$final_message = $this->request->data['Minichat']['message'];
然后每次在循环中反馈该变量:

foreach ($conversion as $k=>$v) {
    $final_message = preg_replace('/'.$k.'/',$v,$final_message);
}
$final_message = nl2br($final_message);

问题是,
$conversion
循环的每次迭代都会替换
$final\u message
变量的最后一个实例。一种解决方案是这样命名初始变量:

$final_message = $this->request->data['Minichat']['message'];
然后每次在循环中反馈该变量:

foreach ($conversion as $k=>$v) {
    $final_message = preg_replace('/'.$k.'/',$v,$final_message);
}
$final_message = nl2br($final_message);

您可以尝试此操作,因为preg_替换支持阵列:

$message = <<<'LOD'
[b]La maitresse[/b] demande à [i]Toto[/i] s'il a mangé [u]des épinards[/u] à la cantine
LOD;

$conv = array(
    '~\[b](.*?)\[/b]~s' => '<span style="font-weight: bold;">$1</span>',
    '~\[i](.*?)\[/i]~s' => '<span style="font-style: italic;">$1</span>',
    '~\[u](.*?)\[/u]~s' => '<span style="text-decoration: underline;">$1</span>'
);

$final_message = preg_replace(array_keys($conv), $conv, $message);

$final_message = nl2br($final_message);

echo $final_message;

$message=您可以尝试此操作,因为preg\u替换支持阵列:

$message = <<<'LOD'
[b]La maitresse[/b] demande à [i]Toto[/i] s'il a mangé [u]des épinards[/u] à la cantine
LOD;

$conv = array(
    '~\[b](.*?)\[/b]~s' => '<span style="font-weight: bold;">$1</span>',
    '~\[i](.*?)\[/i]~s' => '<span style="font-style: italic;">$1</span>',
    '~\[u](.*?)\[/u]~s' => '<span style="text-decoration: underline;">$1</span>'
);

$final_message = preg_replace(array_keys($conv), $conv, $message);

$final_message = nl2br($final_message);

echo $final_message;

$message=您可以尝试此操作,因为preg\u替换支持阵列:

$message = <<<'LOD'
[b]La maitresse[/b] demande à [i]Toto[/i] s'il a mangé [u]des épinards[/u] à la cantine
LOD;

$conv = array(
    '~\[b](.*?)\[/b]~s' => '<span style="font-weight: bold;">$1</span>',
    '~\[i](.*?)\[/i]~s' => '<span style="font-style: italic;">$1</span>',
    '~\[u](.*?)\[/u]~s' => '<span style="text-decoration: underline;">$1</span>'
);

$final_message = preg_replace(array_keys($conv), $conv, $message);

$final_message = nl2br($final_message);

echo $final_message;

$message=您可以尝试此操作,因为preg\u替换支持阵列:

$message = <<<'LOD'
[b]La maitresse[/b] demande à [i]Toto[/i] s'il a mangé [u]des épinards[/u] à la cantine
LOD;

$conv = array(
    '~\[b](.*?)\[/b]~s' => '<span style="font-weight: bold;">$1</span>',
    '~\[i](.*?)\[/i]~s' => '<span style="font-style: italic;">$1</span>',
    '~\[u](.*?)\[/u]~s' => '<span style="text-decoration: underline;">$1</span>'
);

$final_message = preg_replace(array_keys($conv), $conv, $message);

$final_message = nl2br($final_message);

echo $final_message;
$message=