Я пишу PHP приложение, и у меня есть входная строка в видеЗамена строки, за исключением некоторых частей
Hello world. Hello [fbes_keep]world[/fbes_keep].
И новая строка в виде
Hallo welt. Hello.
То, что я хочу его для входной строки, которые будут заменены на новую строку, за исключением части в [fbes_keep]
тегов, поэтому выход
Hallo welt. Hello [fbes_keep]world[/fbes_keep].
Мой текущий подход включает использование finediff library, но переопределение кодов удаления для поиска тегов fbes
. Я спросил a question об этом вчера, но я чувствую, что, возможно, столкнулся с проблемой XY. Есть ли лучший способ?
Edit:Gist, содержащий текущую (нефункциональные) код и реальный тестовый случай.
Итак, вы хотите удалить любой контент между '[fbes_keep]' тегом? Могут ли быть изменены эти имена тегов или они постоянны? – Justinas
@Justinas Я хочу, чтобы строка вывода была новой строкой, за исключением частей между тегами '[fbes_keep]', которые должны быть скопированы из старой строки (в моем примере «мир» сохранен, хотя это не в новой строке, потому что она находится в тегах '[fbes_keep]'. И да, имя тега остается прежним. –
Используйте 'preg_replace (" /.* (\ [fbes_keep \]. *)/", $ NewStr." $ 1 ", $ str)' – Mohammad