2014-11-10 2 views
-5

Это мои модели:Как использовать REGEX в этом случае?

"Х + Х" => Пример: 10 + 9

"Х + Х + Х" => Пример: 8 + 10 + 9

«Х + (Х + Х) + Х»=> Пример: 10+ (8 + 6) +11

Это правила:

Последнее число должно быть всегда "инкапсулированный" между наклонными маркерами, как это: "10+<i>9</i>" , "8+10+<i>9</i>"

Если присутствуют два символа «+», содержимое между двумя «+» должно быть выделено жирным шрифтом: "8+<b>10</b>+<i>9</i>", "10+(<b>8+6</b>)+<i>11</i>

У вас есть идея?

ответ

0

Попробуйте один

echo preg_replace(array('/\((.*)\)/','/\+([0-9])+\+/','/[0-9]+$/'), array('(<b>$1</b>)','+<b>$1</b>+','<i>$0</i>'), '11+5+3'); 
+0

Нет, об ошибке получите: Разбираем ошибка: синтаксическая ошибка, неожиданный «[», ожидая «)» – bahamut100

+0

@ bahamut100 попробовать теперь у вас есть старая версия PHP, массивы могут также объявляется как [] после 5.4 – Sam

+0

Хорошо, это работает, когда используется этот шаблон: 11+ (5 + 4) +3. Но он не работает для: 11 + 5 + 3 – bahamut100

Смежные вопросы