Related Topics
Website Development
The website technology supporting Philadelphia Reflections is PHP, MySQL and DHTML. The web hosting service is Internet Planners.
George IV and Computers(1)
I got him into computers around 1960. He soon far surpassed me.
Programming;GRF4
Program notes by GRF4
New topic 2020-08-31 17:59:48 TITLE 681: Blog 1021 :
DESCRIPTION: this is where you put a small summary blurb which appears in the section surrounded by a black box.
New topic 694 2020-09-12 09:12:55 TITLE George IV Author :
DESCRIPTION: this is where you put a small summary blurb which appears in the section surrounded by a black box.
Not only do the attributes in an HTML tag come in random order but many are optional
Here's a regex solution:
<?php function tagAttr($matches) {print_r($matches);} $string = '<img src="/images/picture.jpg" width="300" class="left" alt="alt keywords" />'; $foo = preg_replace_callback( '/<img\b(?>\s+(?:alt="([^"]*)"|class="([^"]*)"|style="([^"]*)"|src="([^"]*)"|height="([^"]*)"|width="([^"]*)")|[^\s>]+|\s+)*>/i', "tagAttr", $string); ?>
Produces the following:
Array ( [0] => <img src="/images/picture.jpg" width="300" class="left" alt="alt keywords" /> [1] => alt keywords [2] => left [3] => [4] => /images/picture.jpg [5] => [6] => 300 )
The regex is a series of alternating sequences; so, add href="([^"]*)"| in front of alt="([^"]*)" to select an additional attribute.
$matches[0] is the complete match $matches[1] is alt= $matches[2] is class= $matches[3] is style= $matches[4] is src= $matches[5] is height= $matches[6] is width=
My thanks (a) to Flagrant Badassery for putting me onto the idea and (b) to http://centricle.com/tools/html-entities/ for HTML encoding
Originally published: Wednesday, December 19, 2007; most-recently modified: Monday, June 04, 2012
Please Let Us Know What You Think