[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена текста с помощью регулярных выражений
CrazyValenok
Здравствуйте, помогите написать регулярное выражение для замены любых строк, которые стоят в символах []. В регулярке практически 0.



Спустя 3 минуты, 57 секунд (2.04.2011 - 19:05) Trianon написал(а):
имеет смысл сформулирровать проблему более ясно.
Или хотя бы привести пример-другой.

Спустя 3 минуты, 19 секунд (2.04.2011 - 19:09) CrazyValenok написал(а):
например есть строка: [K]Вася Пупкин[/K], нужно избавиться от [K] и [/K], но кроме K в скобках может быть что угодно, нужно написать регулярку для замены таких выражений, чтобы на выходе был только Вася Пупкин

Спустя 57 минут, 44 секунды (2.04.2011 - 20:07) quickxyan написал(а):
вот сейчас сам думаю почти над тем же. надо выдрать текст между

<td>текст</td>

Спустя 14 минут, 50 секунд (2.04.2011 - 20:21) Trianon написал(а):
$text = preg_replace('~\\[K](.*?)\\[/K]~', '\\1', $text);

Спустя 8 часов, 38 минут, 30 секунд (3.04.2011 - 05:00) CrazyValenok написал(а):
Trianon
спасибо, модифицировал ваш код немного:
$text = preg_replace('~\\[.{1,}](.*?)\\[/.{1,}]~', '\\1', $page);
но теперь, если к следущей строке применить эту регулярку [a]a[/a][c]c[/c][d]d[/d], то на выходе будет только d, а нужно acd, где может быть ошика?

Спустя 3 часа, 16 минут, 24 секунды (3.04.2011 - 08:16) kirik написал(а):
Цитата (CrazyValenok @ 2.04.2011 - 21:00)
где может быть ошика?

В регулярке :) Из-за жадности всё попадает под ".{1,}".
echo preg_replace('~\\[.+](.*)\\[/.+]~U', '\\1', '[a]a[/a][c]c[/c][d]d[/d]');

Спустя 1 час, 48 минут, 13 секунд (3.04.2011 - 10:04) CrazyValenok написал(а):
kirik
спасибо, всё работает)
а что означает '\\1' во втором параметре функции, где пишется на что заменить?

Спустя 2 часа, 5 минут, 13 секунд (3.04.2011 - 12:10) Winston написал(а):
Цитата (CrazyValenok @ 3.04.2011 - 09:04)
а что означает '\\1' во втором параметре функции, где пишется на что заменить?

Это означает что будет заменено на то что попало в первую пару круглых скобок.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.