Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Найти текс из параметра функции...


Автор: egoistu 25.11.2011, 01:57
Привет, спасибо что читаешь пост, надеюсь поможешь smile

И так...
надо выдрать из нескольких файлов немного текста...
а точнее, найти где вызывается определённая функция...
и получить только текст который этой фукции передаётся в качестве параметра...

например:
Код

<a href="#">
        <?php echo $this->translate->text('My cabinet'); ?>
</a>


нужен именно текст "My cabinet" в этом случае...

на данный момент я как-то нашаманил такой RegExp:
Код

|\$this->translate->text\(([^)]+)\)|i


но...
проблемма в том что если к примеру функция получит текст "My (Account) settings"
то эта регулярка вернёт только "My (Account"

и ещё... иногда эта функция может быть вложена в другую...
например: 
Код

sprintf($this->translate->text('Hello, %s'), $name);


другими словами...
надо чтоб регулярка выбирала весь текс от [ (' ] или [ (" ], и до [ ") ] или [ ') ]
причём, текст внутри может содержать любые символы, включая [ ) ], [ " ], [ ' ], и так далее...
и учитывая что [ ) ] может быть не последняя в строке...

-----------------------

огромное спасибо в любом случае ;)
удачи тебе!

Автор: -=Ustas=- 25.11.2011, 21:32
на вскидку кинул, не проверял если что:
Код

#\$this->translate->text\(('|")(.*?)('|")\);#is

Автор: egoistu 1.12.2011, 17:38
спасибо, -=Ustas=-

Код

#\$this->translate->text\(('|")(.*?)('|")\);#is

это лучше того что было у меня,
но всеравно, еше не тот вариант который нужен...

в любом случае... Спасибо тебе за отклик, и удачи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)