Автор Тема: Замена слова.  (Прочитано 5825 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Замена слова.
« : 21 Января 2002, 21:40:31 »
Здравствуйте уважаемые!

Возник такой вопрос. Как можно сделать замену слова на другое. То есть смысл такой:

Пользователь пишет текст в строке (как я сейчас) и хочет, чтоб какое-то слово было выделено bold`ом. Для этого допустим ему нужно как на этом форуме написать [ B ] TEST [ / B ]. Как можно заменить этот фрагмент на удобоваримый ХТМЛю TEST до записи в файл или наоборот в процессе чтения из файла?
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн Lion

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 474
  • +0/-0
  • 0
    • Просмотр профиля
Замена слова.
« Ответ #1 : 21 Января 2002, 22:02:53 »
str_replace("[ B ]","",$text);
str_replace("[ /B ]","
",$text);
« Последнее редактирование: 21 Января 2002, 22:08:43 от Lion »

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Замена слова.
« Ответ #2 : 22 Января 2002, 13:23:14 »
2 Lion: Спасибо за помощь!

ЗЫ: Правда не сразу получилось, а после того как приравнял эту переменную к результату ее обработки:

$text = str_replace("[ B ]","",$text);
$text = str_replace("[ /B ]","
",$text);

Пасиб еще раз!
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Замена слова.
« Ответ #3 : 23 Января 2002, 11:36:01 »
Он тебе про это и говорил :)
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Pr0Head

  • Members of GreenPeace
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://digital-market.ru
Замена слова.
« Ответ #4 : 23 Января 2002, 13:10:31 »
Ну я же не знал, что ее надо опять к переменной привязывать... :)

Молодой - глупость, старость - не радость... ;)
Банк выполнил недопустимую операцию и будет закрыт!

Оффлайн ZMeY

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 54
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Замена слова.
« Ответ #5 : 27 Июня 2003, 17:27:13 »
А как посчитать, сколько открывающих тегов было поставлено, что бы закрыть незакрытые

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Замена слова.
« Ответ #6 : 27 Июня 2003, 17:48:37 »
[p]substr_count[/p]
либо пользоваться регекспами для выделения BB-кодов

$txt 
preg_replace("!\\\\[ b \\\\](.*?)\\\\[ /b \\\\]!""<b>\\\\\\\\1</b>"$txt);
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Замена слова.
« Ответ #7 : 27 Июня 2003, 17:51:51 »
[p]substr_count()[/p]

:D опазадал

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Замена слова.
« Ответ #8 : 27 Июня 2003, 17:55:34 »
Напоминаю, что str_replace (как и preg_replace, если не ошибаюсь) воспринимает в качестве первых двух аргументов массивы.
Поэтому чтобы не писать
$text str_replace("[ B ]","<b>",$text);
$text str_replace("[ /B ]","</b>",$text);

в зависимости от количества заменяемых тегов можно писать либо
// Если тегов много - удобнее править.
$from
	
= array (
	
"[ B ]",
	
"[ /B ]"
	
);
$to
	
= array (
	
"<b>",
	
"</b>
	
);
$text = str_replace($from$to$text);

либо просто
 $text str_replace( array("[ B ]""[ /B ]"), array("<b>""</b>"), $text );
Можно, конечно, ещё поиграться с массивами типа
$replace = array(
	
"[ B ]"
	
	
=> 
"<b>",
	
"[ /B ]"
	
=> 
"</b"
	
);

или что-то типа того, но это уже по желанию...
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Замена слова.
« Ответ #9 : 07 Июля 2003, 19:47:33 »
FreeSpace  спасибо! Предупредил мой вопрос!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28