Замена /n /r

  • Автор темы Савелей
  • Дата начала

Савелей

Guest
Замена /n /r

Как заменить /n /r только между <tmpl:sss></tmpl:sss>

<aaa>id=3</aaa>
<tmpl:sss>все
что
угодно
</tmpl:sss>
<aaa>id=6</aaa>
 

SiMM

Новичок
1. Найти позицию очередного <tmpl:sss>
2. Найти позицию последующего </tmpl:sss>
3. Сделать замену между полученными позициями
[m]strings[/m]
 

Савелей

Guest
preg_replace("/<description>(.*)<\/description>/ms",'<description>\\1<\/description>',$text);
Как исключить /n /r
 

Tor

Новичок
Савелей
может не будешь морочить себе и другим голову, а почитаешь пост SiMM?
 

Савелей

Guest
Не как не выходит, всеравно спасибо всем.

-~{}~ 31.03.05 12:58:

Может у кого будет время помогите, буду очень благодарен.
 

vafel

Новичок
PHP:
function prc($matches)
{
    return '<a>'.trim(preg_replace("/\s+/", " ", str_replace(array("\n", "\r"), array(' ', ' '), $matches[1]))).'</a>';
}
$text = preg_replace_callback("/<a>(.+)<\/a>/s", "prc", $text);
попробуй
 

Савелей

Guest
спасибо огромное, но теперь все между первым <tmpl:sss> и последним </tmpl:sss> загоняет в первые <tmpl:sss></tmpl:sss>
 

Tor

Новичок
а как мы могли догадаться, что у тебя их несколько?

находи все первые, реж от одного первого до другого и применяй выше написаное
 

Савелей

Guest
Кто-то просто не слышал про жадность.
Это к чему?

Много ссылок хороших и разных, в помощи нам не занимать:)
 
Сверху