Я вижу здесь много вопросов относительно регулярного выражения, но проблема в том, что они обычно (как и мои) довольно локализованы и трудно вычитать, если вы не являетесь экспертом по регулярному выражению ..php - регулярное выражение, заменяющее строки фигурными скобками и котировками
В моей строке присутствуют символы, такие как кавычки и фигурные скобки, которые, как известно, затрудняют создание регулярного выражения.
Мне хотелось бы знать строки выражений (поиск, замена) Мне нужно, чтобы выполнить эту задачу.
другими словами, в:
ereg_replace (string pattern, string replacement, string subject)
я буду нуждаться в string pattern
и string replacement
выражения.
моя строка
array('val' => 'something', 'label' => 'someword'),
мне нужно изменить последнюю часть:
'label' => 'someword'),
к
'label' => __('someword','anotherstring')),
Я буду использовать PHP для этого, но я также хотел бы протестировать его (а также использовать в других случаях) с помощью Notepad ++. (Я не знаю, действительно ли это что-то меняет в отношении поиска и замены строк).
Обратите внимание, что строка someword
также может быть SomeWord
или SOMEWORD
или даже Some word
или Some_Word
по делам, то есть он может содержать пробелы, подчеркивания или фактически почти любой символ внутри ...)
Edit I: забыл о том, что часть __()
- это, конечно, функция wordpress textdomain для переводов. например __('string','texdomain')
Edit II:
Я извиняюсь, если я отрываться слишком требовательным или требуя в комментариях, я действительно стараюсь ПОНЯТЬ и не только копировать-вставить решение, которое может не работать для я в других случаях .. :-)
Edit III:
при помощи THIS инструмента, я понял, что т Исходное недоразумение - это возможность использовать переменные внутри регулярного выражения. $1
на самом деле все, что мне нужно для лучшего понимания.
(невероятно простой) модель, которая будет работать и в Notepad ++
Pattern: 'label' => ('.*')
Replace: 'label' => __(\1,'textdomain')
(В Notepad ++ это называется Tag Region (не вар) и он помечен как \1
Я не могу понять, что именно вы хотите, 'метки' => 'someword'), чтобы 'меткой' => __ ('someword', 'anotherstring'))? – 2013-02-14 06:53:30
@Akam - да .. но часть 'someord' - это неизвестная строка, а не буквально' somord'. это может быть что угодно. Часть 'otherstring', однако, является фиксированной строкой. –
@ObmerkKronen Regex-es не очень гибкие. Для данного ввода и вывода, представленных в вашем вопросе [это] (http://codepad.viper-7.com/dxXTId), вы получите желаемый результат. Шаблон регулярных выражений: '' label '=> ('. * ') 'Если вам нужна только быстрая замена IDE, этого достаточно. – Leri