#1 2009.10.10 19:15

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Регулярка

Всем привет. Подскажите как сделать регулярку, чтобы текст между <title> и </title> загонялся в переменную

Неактивен

#2 2009.10.10 20:52

AND
Участник
Зарегистрирован: 2009.01.23
Сообщений: 87
Карма: 11
Профиль Веб-сайт

Re: Регулярка

Код:

1
preg_match('/<title>(.*)<\/title>/i', $get, $title);

Неактивен

#3 2009.10.10 22:18

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Регулярка

спс

Неактивен

#4 2010.01.08 12:36

Chizh
Участник
Зарегистрирован: 2009.06.16
Сообщений: 26
Карма: 2
Профиль

Re: Регулярка

Дело такое ) Нужно вернуть текст в том случае, если:
1. после текста не идет </span>.
2. Сам текст не находится между < и >.
То есть если взять строку <span style="..">, то шаблону будет соответствовать и span, и style. А этого быть не должно )

Отредактировано Chizh (2010.01.08 12:37)

Неактивен

#5 2010.01.08 12:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Регулярка

я не понял вопроса.

Неактивен

#6 2010.01.08 13:01

Chizh
Участник
Зарегистрирован: 2009.06.16
Сообщений: 26
Карма: 2
Профиль

Re: Регулярка

есть строка:
<span style="..">text</span>
<span style="..">text2</span>
text3
<span style="..">text4</span>
отсюда в общем нужно выбрать тот фрагмент текста, который еще не выделен span'ами. Этот текст может быть в произвольной части строки ) хоть в начале, хоть в середине....

Отредактировано Chizh (2010.01.08 13:07)

Неактивен

#7 2010.01.08 16:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Регулярка

Код:

1
2
3
4
5
6
$str = '<span style="..">text</span>
<span style="..">text2</span>
text3
<span style="..">text4</span>';
 
echo preg_replace('/<span.+<\/span>/iU', '', $str);

Неактивен

#8 2010.01.08 18:23

Chizh
Участник
Зарегистрирован: 2009.06.16
Сообщений: 26
Карма: 2
Профиль

Re: Регулярка

а. спасибо smile я так понял этот код удалит span и всё што в нем?
мне немного не так надо. хм..
$str = '<span style="..">text</span>
<span style="..">text2</span>
text3
<span style="..">text4</span>';
нужно из этого примера text3 найти и заменить на <span style="..">text3</span>. искомый текст может занимать любое место в строке. сам не понял че написал =/

Отредактировано Chizh (2010.01.08 18:31)

Неактивен

#9 2010.01.08 19:15

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Регулярка

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$str = 'cc<span style="..">text</span>
<span style="..">text2</span>
text3
<span style="..">text4</span>vv';
 
$x = '';
$i = 0;
foreach (explode('<span', $str) as $f) {
$out = explode('</span>', $f);
 
if ($i > 0 && $out[0] != '') {
$x .= '<span' . $out[0] . '</span>';
} else if ($i == 0 && $out[0] != '') {
$x .= '<span>' . $out[0] . '</span>';
}
if (isset($out[1]) && $out[1] != '') {
$x .= '<span>' . $out[1] . '</span>';
}
$i++;
}
echo $x;

Неактивен

#10 2010.01.11 07:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Регулярка

Как использовать preg_match() ?
Когдато пытался роздуплить ее по немногу начал понимать ее в проверке, но сегодня решыл выводить нужный текст начала болеть голова.

Код:

1
lt;?//до етого брал так$text=preg_replace('/.*text1(.*?)text2(.*?)text3.*/','$1,$2',$text1);/*Но сами понимаете ето не вариант темболие если большой текстначал читать маны*/preg_match('/text1(.*?)text2(.*?)text3/',$text1,$text);echo $text[1].','.$text[2];

Но почему выводит тормассивом то нет например видел кода где сразу вставляют $text как текст а не массив Как оно работает можете обяснить? или хотябы на хорошие маны направить.

Отредактировано TLENS (2010.01.11 07:58)

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s