Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите сделать замены в тексте


Автор: spamoney 8.7.2008, 04:59
Всем привет, помогите решить такую проблему:

Допустим имеется текст: 
Код

<div class="text">Введите "text" :<input type = "text" name="filelink" value="" /></div>


Необходимо заменить слово text на <strong>text</strong>, НО заменить только там, где это слово не находится в html тэгах, т.е при замене текста, который приведён выше, должно получится так:

Код

<div class="text">Введите "<strong>text</strong>" :<input type = "text" name="filelink" value="" /></div>

Автор: americanets 8.7.2008, 09:44
Код

strtr($sting, 'Введите "text"', 'Введите "<strong>text</strong>"');

Автор: spamoney 8.7.2008, 09:53
Текст всегда разный...

Код

$code = '<div class="text">Тест "text" бла-бла text:<input type = "text" name="filelink" value="" /> любой текст <a href="text">ssilka</a></div> бла-бла text';

Автор: SamDark 8.7.2008, 11:45
spamoney, 
Задача некорректна. «text» у вас уже в html тэге div (первый пост). Переформулируйте.

Автор: spamoney 8.7.2008, 13:03
Эмм..да вроде всё корректно)


на одном форуме предложили такое решение

Код

$code = '<div class="text">Тест "text" бла-бла text:<input type = "text" name="filelink" value="" /> любой текст <a href="text">ssilka</a></div> бла-бла text';
$code = preg_replace("#([^<]*)(text)([^>]*)#is","\\1<strong>\\2</strong>\\3",$code);


но после выполнения кода выводится:

Код

<div class="text">Тест "text" бла-бла <strong>text</strong>:<input type = "text" name="filelink" value="" /> любой текст <a href="<strong>text</strong>">ssilka</a></div> бла-бла <strong>text</strong>


вместо:

Код

<div class="text">Тест "<strong>text</strong>" бла-бла <strong>text</strong>:<input type = "text" name="filelink" value="" /> любой текст <a href="text">ssilka</a></div> бла-бла <strong>text</strong>


может кто нибудь сможет поправить??

Автор: spamoney 9.7.2008, 10:12
Уже не актуально, тему можно закрывать, проблему помог решить Professor, c форума: http://www.phpforum.ru

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)