Нужно заменить в строке все запятые на точки, которые находятся не внутри квадратных скобок [].
5,6+max(6,5;4,5)+[20,40] -> 5.6+max(6.5;4.5)+[20,40]
Также нужно заменить в строке все точки с запятой на запятую, если они находятся внутри круглых скобок ().
То есть если этот символ окружен скобками.
Очень нужно!
Спустя 53 минуты, 42 секунды (17.07.2009 - 18:38) glock18 написал(а):
Пожалуйста, вот:
PHP |
function MathReplace($string) |
все действия закомментированы.
Спустя 49 минут, 54 секунды (17.07.2009 - 19:28) FatCat написал(а):
Если парность скобок соблюдена, то довольно просто.
PHP |
function replace($txt){ |
Спустя 3 минуты, 32 секунды (17.07.2009 - 19:31) FatCat написал(а):
glock18
Я с похожей задачей неделю промаялся. Не с самой задачей, а с наименее ресурсоемким алгоритмом ее решения. Тут отчет.
Я с похожей задачей неделю промаялся. Не с самой задачей, а с наименее ресурсоемким алгоритмом ее решения. Тут отчет.
Спустя 3 часа, 43 минуты (17.07.2009 - 23:14) motorway написал(а):
Спасибо, мне еще на одном форуме помогли, там тоже не очень большой код.
Решение похоже на решение FatCat
Решение похоже на решение FatCat
Спустя 30 минут, 55 секунд (17.07.2009 - 23:45) motorway написал(а):
Нет, все-таки они мне дали плохой код! Если скобок внутри несколько, не получается!!!
Мне нужен код, работающий даже со вложенными скобками
Мне нужен код, работающий даже со вложенными скобками
Спустя 2 минуты, 54 секунды (17.07.2009 - 23:48) glock18 написал(а):
А, ну да. можно посимвольно, конечно. Я как-то отвык от такой обработки строк уже
substr($str, $pos, 1)
можно и следует заменить на
$str{$pos}. быстрее и читается получше.
substr($str, $pos, 1)
можно и следует заменить на
$str{$pos}. быстрее и читается получше.
Спустя 4 минуты, 20 секунд (17.07.2009 - 23:52) motorway написал(а):
Не работает... Ничего не выводит
Спустя 29 минут, 56 секунд (18.07.2009 - 00:22) glock18 написал(а):
Вот уж проблема.
Посимвольный проход позволяет сделать че хочешь. Просто надо на $if_1 и $if_2 поставить счетчики открытых скобок вместо true/false.
Посимвольный проход позволяет сделать че хочешь. Просто надо на $if_1 и $if_2 поставить счетчики открытых скобок вместо true/false.
Спустя 2 минуты, 33 секунды (18.07.2009 - 00:25) glock18 написал(а):
Цитата (motorway @ 17.07.2009 - 20:45) |
Мне нужен код, работающий даже со вложенными скобками |
я решил сделать задачу, потому что она показалась интересной. теперь же вы не получите ни строчки кода, потому что с таким подходом вам нужно было создавать тему в "Заказы"/"Проекты".
Спустя 13 часов, 35 минут, 23 секунды (18.07.2009 - 14:00) motorway написал(а):
Я просто забыл об этом сначала написать, хотя это подразумевалось. Как раз со вложенными скобками она интересней
Спустя 4 часа, 28 минут, 2 секунды (18.07.2009 - 18:28) FatCat написал(а):
Цитата (motorway @ 18.07.2009 - 00:45) |
Мне нужен код, работающий даже со вложенными скобками |
PHP |
function replace($txt){ |