Автор Тема: Проблема при работе с preg_replace  (Прочитано 2995 раз)

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

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема при работе с preg_replace
« : 06 Января 2005, 13:53:53 »
Версия PHP 4.3.10


Код:
$pattern=array(\'/<-title->/\');
$replacement=array($title);
$data=preg_replace($pattern,$replacement,$data);



Проблема в том что $title может содержать символ $ например "Price: $39.94"
после замены "Title: <-title->" получаем "Title: Price: .94"

делаю так:
$replacement=array( preg_quote( $title ) );

получается:
"Title: Price: $39\\.94";

Немного подумав я понял что мне за глаза хватит str_replace,
но все равно хотелось бы чуть чуть повыше перенести руки и самую малость отрихтовать. :)
Вобщем что я делаю не так?
« Последнее редактирование: 06 Января 2005, 15:30:39 от Alone »

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Проблема при работе с preg_replace
« Ответ #1 : 06 Января 2005, 15:20:06 »
Цитировать
Alone:
Проблема в том что $title может содержать символ $ например "Price: $39.94"
насколько я понял, просто одинарные кавычки надо использовать вместо двойных:

echo "Price: $39.94";
echo \
'Price: $39.94\';
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема при работе с preg_replace
« Ответ #2 : 06 Января 2005, 15:33:47 »
$title определяется из файла
я проверял до "$replacement=array($title);" $title содержит нормальную строку например "Price: $39.94".

 

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