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