Я хочу иметь возможность превращать определенные части строки в полужирный, используя регулярное выражение в PHP.Когда строка содержит текст **, окруженный двумя звездочками **, она должна стать жирным шрифтом.
Я использую три примера:
**The quick brown fox jumps over the lazy dog.**
The **quick** brown fox **jumps over** the lazy dog.
**The quick* brown fox jumps over the lazy dog**.
Я пробовал:
$string = preg_replace('/\*\*(.+)\*\*/' , "<b>$1</b>" , $string);
Который терпит неудачу на втором, потому что дает:
The <b>quick** brown fox **jumps over</b> the lazy dog.
Он должен был остановиться после быстрого и снова соответствовать при прыжках.
Я также попытался:
$string = preg_replace('/\*\*([^*]+)\*\*/' , "<b>$1</b>" , $string);
, который работает на втором, но не работает на третьем, совсем ничего не сопоставляя.
Что я действительно хочу, так это:
$string = preg_replace('/\*\*([^*{2}]+)\*\*/' , "<b>$1</b>" , $string);
Но я знаю, что этознать правильно.Я думаю, что я должен как-то использовать негативную перспективу, но я не знаю как.
Заранее спасибо.