PDA

Pogčedajte punu verziju : RegEx problem


mega023
26. 01. 2007., 15:16
imam sledeci html


<img src="images/image.jpg" tppabs="http://www.some_site.com/category/asd5/images/image.jpg" width="xxx" border="x" height="xx" alt="xxxxxxxxx" >


zelim iz njega sa preg_replace da obrisem tppabs="http://..........."
ovo se pojavjuje xy puta u xxxxxxy fajlova pa bih da napravim proceduru koja ce da otvara brise to i sacuva izmene.

napomena da slika moze biti i .gif i da broj foldera nije kao u primeru nego negde ih ima vise negde manje, tako da jedino sto je sigurno je " na kraju...

zna li neko da napise ovaj regex (ako se u opste moze napisati)

ko resi ima pivce od mene :)

jablan
26. 01. 2007., 15:25
Ovo ti je pattern:

tppabs\s*=\s*"[^"]*"

A kao replacement string staviš prazan string. Možeš da iskoristiš neki od unix command-line alata (npr. sed) za masovnu zamenu.

I nemoj bogati pivo, zlo mi je više... ;)

mega023
26. 01. 2007., 15:35
probao sam ovako


<?php
$x = '<img src="images/image.jpg" tppabs="http://www.some_site.com/category/asd5/images/image.jpg" width="xxx" border="x" height="xx" alt="xxxxxxxxx" >';
$x = preg_replace('tppabs\s*=\s*"[^"]*"' , '', $x);
echo $x;
?>


kaze

Warning</b>: preg_replace(): Delimiter must not be alphanumeric or backslash in PHPDocument2.php on line 3

jablan
26. 01. 2007., 15:40
$x = preg_replace('/tppabs\s*=\s*"[^"]*"/i' , '', $x);


I možda treba da escape-uješ backslash, ne sećam se tačno kako funkcionišu literali u PHP-u. Potrudi se malo... ;)

mega023
26. 01. 2007., 15:45
radi!

10x