我有一个函数替换PHP中的caracters:
$texte = preg_replace('`\[math\](.+)\[/math\]`isU', '\( $1 \)', $texte);
但我会允许\
,因为我的字符串看起来像这样:\frac{5}{2 \sqrt{5} } x_{k}
编辑1:
例如,用户编写以下BBcode:[math] \frac{5}{2 \sqrt{5} } x_{k} [math]
它将在HTML中翻译为:\( \frac{5}{2 \sqrt{5} } x_{k} \)
编辑2: 这是功能:
$result = preg_replace('`\[math\](.*)\[/math\]`isU', '\( $1 \)', $text);
使用$text = "[math] \frac{5}{2 \sqrt{5} } x_{k} [/math]";
返回\( frac{5}{2 sqrt{5} } x_{k} \)
\
已经消失。
路易斯
答案 0 :(得分:1)
这样做:
$text = '[math] \frac{5}{2 \sqrt{5} } x_{k} [/math]';
$result = preg_replace('`\[math\](.*)\[/math\]`isU', '( $1 )', $text);
echo "result=$result<br>";
注意我已将输入字符串放在单引号中,因此反斜杠不会被解释为任何内容,并且您不希望替换字符串中包含反斜杠。希望这是你想要的。
答案 1 :(得分:0)
最后我发现,我必须使用
$texte = preg_replace('`\[math\](.*)\[/math\]`isU', '\( $1 \)', $texte);
但我已经把它展示给了texte:echo'<td>'.BBcode(nl2br(stripslashes(htmlspecialchars($data['post_texte'])))).'
我只需删除stripslashes
函数,就像这样:
echo'<td>'.BBcode(nl2br(htmlspecialchars($data['post_texte']))).'
它的工作正常。