К списку форумов К списку вопросов
Вопрос по Perl...
Nickk
26.04.2004 - 12:12
Народ, вылетело из головы.. :( Как такое сделать? -
Есть пага index.html, в ней, "где то" строчка - <b>123.123</b>
Нужно заменить цифры между <b> на другие. (загнать весь HTML код в скрипт и вместо цифр подставить переменные нет возможности - пага обновляется не только этим скриптом)
Заранее благодарен
Adept
1 - 26.04.2004 - 12:19
$filecontent=~s#<b>(\d){3}\.(\d){3}</b>#<b>${first}.${second}</b>#g;
 
?
Nickk
2 - 26.04.2004 - 12:22
Сенькс! Только забыл сказать - число то не обязательно будет такое..
...(\d){3}\.(\d)... - вместо 3 наверное ? надо поставить?
Nickk
3 - 26.04.2004 - 12:24
а если - tr/a-zA-Z/$var/ - так уберем все не буквы, но проблема как заменить значение между "метками" в HTML коде, а не добавить...
Adept
4 - 26.04.2004 - 12:33
Нет, это вместо 3х цифр
Kokoc
5 - 26.04.2004 - 19:42
Можно еще так:
=~ s#(<b>)([\d|\.|\s]+)(</b>)#${1}$replacement${3}#g;
Последовательность цифр и точек между <b> и </b> заменяются на $replacement; заодно удаляются возможные пробелы.
mae
6 - 27.04.2004 - 06:19
В лоб:
~s!<b>.*?</b>!<b>$yourdigits</b>!gsi;
mae
7 - 27.04.2004 - 06:21
Если встречаются иные <b> теги, и надо заменить только там, где цифры, то:
~s!<b>\d+?(?:\.\d+?)</b>!<b>$yourdigits</b>!gsi;
mae
8 - 27.04.2004 - 06:23
точнее ~s!<b>\d+?(?:\.\d+?)?</b>!<b>$yourdigits</b>!gsi;

К списку вопросов на форуме Веб-дизайн

>>