У меня есть файл config.ini образовавшуюся в XML так:Regex: Как удалить стиль тегов XML
<positions>
<position>
<name>BLOCK TAB 1</name>
<tag>[BLOCK_TAB_1]</tag>
</position>
<position>
<name>PERSONALAREA</name>
<tag>[PERSONALAREA]</tag>
</position>
</positions>
Я попытался удалить блок:
<position>
<name>BLOCK TAB 1</name>
<tag>[BLOCK_TAB_1]</tag>
</position>
с помощью preg_replace
$find1 = "/<name>BLOCK TAB 1<\/name>/";
$find2 = "/<tag>\[BLOCK_TAB_1\]<\/tag>/";
$contents = preg_replace($find1, "", $contents);
$contents = preg_replace($find2, "", $contents);
Но содержание будет
<positions>
<position>
</position>
<position>
<name>PERSONALAREA</name>
<tag>[PERSONALAREA]</tag>
</position>
</positions>
Пустой знак <position>
(с вкладками внутри) все еще здесь.
Попробуйте использовать /<position[^>]*><\\/position[^>]*>/
для замены пустой <position>
тег, но из-за вкладок внутри, поэтому замена не работает.
У кого-нибудь есть идея?
" \ п \ s + BLOCK TAB 1 \ п \ s + \ [BLOCK_TAB_1 \] \ п \ s + "'использовать это или" \ п \ s + . * \ п \ s + . * \ п \ s + "' –
Ashish
@Ashish Спасибо! Я пробовал, но не повезло. –