регулярное выражение, обойти абзац

rtyug
На сайте с 13.05.2009
Offline
263
1300

есть регулряное выражение:


$text =~ s#<v:imagedata src="(.*.)" (.*.)\/>#--><img src="$1" alt="" \/><!--#ig;

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


<v:imagedata src="./image001.jpg" o:title=""/>

НО как только в тексте попадается такой участок:


<v:imagedata src="./image007.jpg" o:title="" gain="79922f"
blacklevel="-3932f"/>

то это рег.выр . не работает, не обрабатывает!!

пробовал 100 раз, оно почему-то не хочет обрабатывать там где обзац стоит!

как сделать, чтобы оно работало??

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
[umka]
На сайте с 25.05.2008
Offline
456
#1

$text =~ s#<v:imagedata src="(.*.)" (.*.)\/>#--><img src="$1" alt="" \/><!--#igs;

Лог в помощь!
rtyug
На сайте с 13.05.2009
Offline
263
#2

добавил модификатор s, теперь вообще не заменяет, не работает...

N
На сайте с 06.05.2007
Offline
419
#3

rtyug, у меня на твоих примерах работает. отлаживай.

Кнопка вызова админа ()
rtyug
На сайте с 13.05.2009
Offline
263
#4

если просто попробовать, то работает, я сейчас покажу как не работает..

N
На сайте с 06.05.2007
Offline
419
#5

rtyug, ну так учись выделять суть проблемы

rtyug
На сайте с 13.05.2009
Offline
263
#6

вот есть текствый файл:

test-test

  <p class=MsoBodyText><b><span style='mso-fareast-font-family:"Arial Unicode MS"'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></b></p>

<p class=MsoBodyText><b><span style='mso-fareast-font-family:"Arial Unicode MS"'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></b></p>
<p class=MsoBodyText><!--[if gte vml 1]><v:shape id="_x0000_s1042" type="#_x0000_t75"
style='position:absolute;margin-left:40pt;margin-top:-144.75pt;width:180pt;
height:141.15pt;z-index:2' o:preferrelative="f">
<v:imagedata src="./RGDMETMP1.files/image005.jpg" o:title="" gain="79922f"
blacklevel="-1966f"/>
<w:wrap type="square"/>
</v:shape><![endif]--><![if !vml]><img width=240 height=188
src="./RGDMETMP1.files/image006.jpg" align=left hspace=12 v:shapes="_x0000_s1042"><![endif]><b><span
style='mso-fareast-font-family:"Arial Unicode MS"'><o:p></o:p></span></b></p>
<p class=MsoBodyText><b><span style='mso-fareast-font-family:"Arial Unicode MS"'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></b></p>
<p class=MsoBodyText><!--[if gte vml 1]><v:shape id="_x0000_s1043" type="#_x0000_t75"
style='position:absolute;margin-left:49.7pt;margin-top:16.85pt;width:161.65pt;
height:129.5pt;z-index:3' o:preferrelative="f">
<v:imagedata src="./RGDMETMP1.files/image007.jpg" o:title="" gain="79922f"
blacklevel="-3932f"/>
<w:wrap type="square"/>
</v:shape><![endif]--><![if !vml]><img width=216 height=173
src="./RGDMETMP1.files/image008.jpg" align=left hspace=12 v:shapes="_x0000_s1043"><![endif]><b><span
style='mso-fareast-font-family:"Arial Unicode MS"'>.<o:p></o:p></span></b></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:10.0pt;mso-bidi-font-size:12.0pt'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>

скрипт:

#!/usr/bin/perl


$f = 'test-test';


open( F, $f ) or die "can't open $f: $!";

local $/;
$text = <F>;

$text =~ s#<v:imagedata src="(.*.)" (.*.)\/>#--><img src="$1" alt="" \/><!--#igs


print $text;

не работает... не заменяет...

как это испраивть?

вродебы вот эта штука мешает (.*.)

но я пробовал по разному - все равно не работает, не заменяет рег.выр.

rtyug добавил 17.09.2010 в 21:26

UPD:

заработало вот так:

$text =~ s#<v:imagedata src="(.*?)" (.*?)\/>#--><img src="$1" alt="" \/><!--#igs;
AlExTeam
На сайте с 12.08.2010
Offline
34
#7

Это же перл.

Йопт, подумал что уже новый пхп придумали.

Чкуть мосг не треснул в попытках понять синтаксис пхп

Internet killed the video star
Str01tel
На сайте с 27.12.2009
Offline
26
#8

перед обработкой текста удаляйте все переносы строк, тогда и проблем с регулярками меньше будет

rtyug
На сайте с 13.05.2009
Offline
263
#9

да, понтяно, я перепутал там...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий