Hi Alia:
On Fri, Aug 09, 2002 at 02:50:32PM +0300, Alia Mikati wrote:
I have to parse an html file and replace
src attribute of an img. I'm using 'preg_match_all'
First off, if you're doing a search and replace, use preg_replace().
having problem with patterns. This is the part of code that should find
the appropriate img src:
$preg='/img(.*?)src=[\'|]'.addcslashes($original,/).'[\'|](.*?)/si';
The | OR operator is not for use in [] character range blocks.
where $original contains the value of src that it should find. For expl,
$original can be: ../../MyMCMSSite/images/pic1_abeoway.gif.
But the problem is it's not catching the right img src.
I don't know why it's not working for you. A slightly tweaked version of
that works for me... Do note, you weren't escaping the periods in your
addcslashes() call.
?php
$document = 'begin img size=5
src=../../MyMCMSSite/images/pic1_abeoway.gif height=3 / end';
echo htmlspecialchars($document);
$original = '../../MyMCMSSite/images/pic1_abeoway.gif';
$original = addcslashes($original, '/.');
$preg = '/img(.*?)src=[\']' . $original . '[\'](.*?)/si';
echo 'br /';
echo htmlspecialchars($preg);
$document = preg_replace($preg, ' REPLACED ', $document);
echo 'br /';
echo htmlspecialchars($document);
?
Enjoy,
--Dan
--
PHP classes that make web design easier
SQL Solution | Layout Solution | Form Solution
sqlsolution.info | layoutsolution.info | formsolution.info
T H E A N A L Y S I S A N D S O L U T I O N S C O M P A N Y
4015 7 Av #4AJ, Brooklyn NY v: 718-854-0335 f: 718-854-0409
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php