Разрешить регулярное выражение с обратной косой чертой

0

У меня есть функция, которая заменяет символы в PHP:

$texte = preg_replace(''\[math\](.+)\[/math\]'isU', '\( $1 \)', $texte);

Но я бы разрешил \ потому что мои строки выглядят так: \frac{5}{2 \sqrt{5} } x_{k}

EDIT 1: Например, пользователь пишет следующий BBcode: [math] \frac{5}{2 \sqrt{5} } x_{k} [math] он будет переведен в HTML: \( \frac{5}{2 \sqrt{5} } x_{k} \)

EDIT 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} \) The \ исчез.

Луис

Теги:

2 ответа

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']))).'

И это нормально.

1

Это сделает это:

$text = '[math] \frac{5}{2 \sqrt{5} } x_{k} [/math]';
$result = preg_replace(''\[math\](.*)\[/math\]'isU', '( $1 )', $text);
echo "result=$result<br>";

Примечание. Я ввел строку ввода в одинарные кавычки, поэтому обратные косые черты не интерпретируются как что-либо, и вам не нужны обратные косые черты в заменяющей строке. Надеюсь, это то, что вы хотите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню