Hey John, something like this might work: <?
$string = "This is a string with an embedded image [bird.gif,this is a bird]"; $string = preg_replace("/\[(.*?\.)(gif|jpg),(.*?)\]/i", "<img src=\"\\1\\2\" alt=\"\\3\">", $string); echo $string; ?> James "John A. Grant" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > I'm reading some HTML text from a file and echoing it to > stdout. The HTML text contains <IMG> but I would rather > have the server do the work of looking up the image size. > I know how to lookup the image size with getimagesize(). > My problem is in coming up with a good format for embedding > a reference to the image in the text and then writing the code > to parse it. > > So instead of this: > here is some text <img src=bird.gif width=100 height=20 > alt="this is a bird"> and here is more text and another > image <img src=plane.gif width=123 height=23 > alt="this is a plane"> and more text > > I would like to have something like this: > here is some text [bird.gif,this is a bird] and here > is more text and another image [plane.gif, this is a plane] > and more text > > Crossing line boundaries is not an issue - each text string > is complete. I need to be able to dump out the string until I > see a reference to an image, then extract the name and alt text, > handle it (by emitting <IMG>) and continue to echo text from > the string until I encounter another image reference. > > My problem is in coming up with a syntax for this and then > to write the code to extract the information. > > In the above example, I'm using the syntax: > [filename,text] > > but it's conceivable that the HTML text might also contain > [some plain text not related to images] > > so I thought about some of these: > {filename,alt text} - not good, text might contain {plain text] > @filename, alt text@ > img(filename,alt text) > > Using the same @ delimiter at each end might make it easier > to use explode() to split the text. But perhaps img(filename,text) > is more elegant, but it might need more skills than I have in using > regex to recognize it and extract it. Also I need to figure out how > to extract and echo the plain text around it. > > Any ideas are appreciated. Thanks. > > -- > John A. Grant * I speak only for myself * (remove 'z' to reply) > Radiation Geophysics, Geological Survey of Canada, Ottawa > If you followup, please do NOT e-mail me a copy: I will read it here > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]