Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: заменить цифру на слово везде, кроме тэгов

Сообщения:  [1-10]   [11-16] 

 
 автор: а-я   (19.09.2009 в 05:45)   письмо автору
 
   для: cheops   (18.09.2009 в 08:15)
 

Благодарю! Это то что надо!! =)


>PS Под новые вопросы все-таки лучше заводить новые темы.

хорошо.. учту =)

  Ответить  
 
 автор: cheops   (18.09.2009 в 08:15)   письмо автору
 
   для: а-я   (17.09.2009 в 18:03)
 

Можно поступить следующим образом
<?php  
  $text 
'$4567$ <postfield name="type" value="$(type1615)"/> $sdfgs';  
  
$pattern '|(?<!value=")\$|is';  
  
$text preg_replace($pattern"\$\$"$text);  
  echo 
htmlspecialchars($text);  
?>

PS Под новые вопросы все-таки лучше заводить новые темы.

  Ответить  
 
 автор: а-я   (17.09.2009 в 18:03)   письмо автору
 
   для: cheops   (17.09.2009 в 10:27)
 

>>ноль2ноль2нольноль2нольноль <value="0fdx"> 345ноль5344
>>$$4567$$ <postfield name="type" value="$(type1615)"/> $$sdfgs
>>да! =) именно это мне и надо!
>>никто не знает?
>На самом деле немного сложно понять, что вам требуется. Это один вопрос или два?


да, извините. это уже другой вопрос, но по теме.
надо из

$4567$ <postfield name="type" value="$(type1615)"/> $sdfgs

сделать

$$4567$$ <postfield name="type" value="$(type1615)"/> $$sdfgs


просто необходимо использовать wml-разметку.. знаю, что она уже устарела, но так надо.

в этой разметке можно использовать переменные, $var -> $$var - чтоб получить текст, а не переменную.

решил использовать буфер, и перед отдачей заменить все $ на $$,
кроме тех что в тэге <postfield>

  Ответить  
 
 автор: cheops   (17.09.2009 в 10:27)   письмо автору
 
   для: а-я   (17.09.2009 в 02:42)
 

>ноль2ноль2нольноль2нольноль <value="0fdx"> 345ноль5344
>$$4567$$ <postfield name="type" value="$(type1615)"/> $$sdfgs
>да! =) именно это мне и надо!
>никто не знает?
На самом деле немного сложно понять, что вам требуется. Это один вопрос или два?

  Ответить  
 
 автор: а-я   (17.09.2009 в 02:42)   письмо автору
 
   для: а-я   (16.09.2009 в 17:01)
 

никто не знает?

  Ответить  
 
 автор: а-я   (16.09.2009 в 17:01)   письмо автору
 
   для: cheops   (16.09.2009 в 15:58)
 

да! =) именно это мне и надо!

  Ответить  
 
 автор: cheops   (16.09.2009 в 15:58)   письмо автору
 
   для: а-я   (16.09.2009 в 15:48)
 

Не понятно. У вас символы доллара удваиваются без всякой выгоды
$$4567$$ <postfield name="type" value="$(type1615)"/> $$sdfgs

Это то что вы хотели получить?

  Ответить  
 
 автор: а-я   (16.09.2009 в 15:48)   письмо автору
 
   для: cheops   (16.09.2009 в 15:37)
 

что-то понять не могу...

данный момент реализовал таким образом:

<?
  $text 
'$4567$ <postfield name="type" value="$(type1615)"/> $sdfgs'
  
  
$text str_replace('$''$$'$text);

  
$pattern '|<postfield name="(.*?)" value="\$\$(.*?)"/>|uis'

  
$text preg_replace($pattern'<postfield name="\\1" value="$\\2"/>'$text);
    
  echo 
htmlspecialchars($text);
?>


только в данном случаи меняем $ на $$, все работает, но можно как то упростить.
как в 1ом случаи?

  Ответить  
 
 автор: cheops   (16.09.2009 в 15:37)   письмо автору
 
   для: а-я   (16.09.2009 в 15:34)
 

Тогда регулярное выражение нужно будет немного модифицировать
<?php 
  $text 
'020200200 <value="0fdx"> 34505344'
  
$pattern "|(?<!\<value=\")([\d\w\$\(]*?)(0)([\d\w\)]*?)(?!\")|is"
  
$text preg_replace($pattern"\\1ноль\\3"$text); 
  echo 
htmlspecialchars($text); 
?>

  Ответить  
 
 автор: а-я   (16.09.2009 в 15:34)   письмо автору
 
   для: cheops   (16.09.2009 в 15:09)
 

спасибо =) вроде работает без проблем.

а если строка будет вида

$
<postfield name="type" value="$(type1615)"/>
$


т.е. нельзя трогать в тэги postfield в значении value?

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования