Имейте проблему с preg_replace.
У меня есть BBCodes, и они хочу, чтобы они заменили.
, скажем, я хочу заменить прикрепление BBCODE на идентификатор вложения: 35318 < /p>
String: < /p>
[ATTACH]35316[/ATTACH][ATTACH]35318[/ATTACH]
[ATTACH]35317[/ATTACH]
< /code>
preg_replace: < /p>
preg_replace('/\[ATTACH(.*)\]35318\[\/ATTACH\]/', '[ATTACH type="full" alt="test" width="250px"]35318[/ATTACH]', $input_lines);
< /code>
Удаляет < /p>
[ATTACH]35316[/ATTACH]
< /code>
Результат: < /p>
[ATTACH type="full" alt="test" width="250px"]35318[/ATTACH]
[ATTACH]35317[/ATTACH]
< /code>
нужен результат: < /p>
[ATTACH]35316[/ATTACH][ATTACH type="full" alt="test" width="250px"]35318[/ATTACH][ATTACH]35317[/ATTACH]
< /code>
Есть ли решение с preg_replace, которое может взять на себя внутреннюю замену из 35318 < /p>
Мое решение, но это обходной путь:
Поместите пробелы между закрытием Прикрепление и открытие, а затем запустите preg_replace и после этого удаляют.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... text-inner