php: замена строки
Как лучше осуществить следующее (оба случая не связаны и нужны для разных страниц):
1. Есть $string = '....[Какая-то строка!...]...';
Как можно то, что находится в [...] убрать вместе со []? Если не знать заранее, что за текст там находится!
2. Есть $string = '....[...]...[...]...';
Как заменить [...] и [...] (в паре) на что-то другое, оставив текст между ними наместе?
Что-то типа того, как реализовано в форумах:
Пример:
текст заменяется текст
При этом, действует только для заданых вариантов.
Впринципе, можно по одному отслеживать и заменять, но хочется что-то более удобное!
Цитата:
Originally posted by Couger
Что я сегодня потормаживаю :)
Как лучше осуществить следующее (оба случая не связаны и нужны для разных страниц):
1. Есть $string = '....[Какая-то строка!...]...';
Как можно то, что находится в [...] убрать вместе со []? Если не знать заранее, что за текст там находится!
2. Есть $string = '....[...]...[...]...';
Как заменить [...] и [...] (в паре) на что-то другое, оставив текст между ними наместе?
Что-то типа того, как реализовано в форумах:
Пример:
текст заменяется текст
При этом, действует только для заданых вариантов.
Впринципе, можно по одному отслеживать и заменять, но хочется что-то более удобное!
Что я сегодня потормаживаю :)
Как лучше осуществить следующее (оба случая не связаны и нужны для разных страниц):
1. Есть $string = '....[Какая-то строка!...]...';
Как можно то, что находится в [...] убрать вместе со []? Если не знать заранее, что за текст там находится!
2. Есть $string = '....[...]...[...]...';
Как заменить [...] и [...] (в паре) на что-то другое, оставив текст между ними наместе?
Что-то типа того, как реализовано в форумах:
Пример:
текст заменяется текст
При этом, действует только для заданых вариантов.
Впринципе, можно по одному отслеживать и заменять, но хочется что-то более удобное!
1. $sting = preg_replace("/\[([^\]].*)\]/","",$string);
2. Не совсем ясна задача. В случае, с примером форума, что то вроде:
$string = "Тескт .... Текст ... {b}Вот так вот{/b}.... Текст... Текст...";
$string = preg_replace("/\{b\}([^\{].*)\{\/b\}/","$1",$string);
Хотя, это упрощенный вариант. В общем, почитай ман на тему регулярных выражений -- там много всего.