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]