Работа с рег. выр. Вырезаем кусок строки
Нужно удалить все что находитмся между #. Как это сделать? Все "item" - совершенно разные слова.
Неработает. Даже хз почему.
$string = preg_replace("/(?<=#)[a-zA-Z_0-9.[COLOR="Red"]\\-[/COLOR]]+(?=#)/[COLOR="#ff0000"]g[/COLOR]",'',$string);
Но я бы делал так:
следующий код
[size=8]bbb[/size]'
$pattern = '/(\[size=)([0-9]+)(\])(.*)(\[\/size\])/';
$replace = '<span style="font-size:\\2pt">\\4</span>';
echo preg_replace ($pattern, $replace, $text);
выдает
[HTML]
<span style="font-size:10pt">aaa[/size]
[size=8]bbb</span>
[/HTML]
судя по оно так не должно быть
[INDENT]соответствует любому символу, кроме перевода строки (по умолчанию)[/INDENT]
помогите пожалуйста
чем можно заменить любой символ([COLOR="Red"].[/COLOR])
кажется все решилось само сабой
как говорится - RTFM
$pattern = '/(\[size=)([0-9]+)(\])(.*[COLOR="Red"]?[/COLOR])(\[\/size\])/';
?
?
хм...
я сначало тоже подумал что не прйдет, а попробовав выяснил что нет
сначало он захватывает первую пару
[COLOR="Red"][size=10 ][/COLOR]aaa[size=8 ]bbb[COLOR="#ff0000"][/size][/COLOR]aaa[/size]
и мы получаем
[HTML]<span style="font-size:10pt">aaa[size=8]bbb</span>aaa[/size][/HTML]
естественно это неправельно, но...
захватив вторую пару мы получим
[HTML]
<span style="font-size:10pt">aaa<span style="font-size:8pt">bbb</span>aaa</span>
[/HTML]
совершенно правельный и валидный код
По мойму проше и быстрее по exlode() делать уж коль скоро вхождение подстроки изветсно.