我有一个随机的,长串的html代码(用户输入) - 我需要检查它的img标签和相应的宽度/高度,并用一串专有代码替换每个图像实例,例如
Hello world <img src="http://example.com/image.jpg" width="320" height="240" /> this is some random text <img src="http://example.com/cutepuppy.jpg" width="150" height="200" />
需要替换为
Hello world [img:http://example.com/image.jpg w:320 h:240] this is some random text [img:http://example.com/cutepuppy.jpg w:150 h:200]
答案 0 :(得分:1)
你需要的正则表达式将是:
<img.*src=["'](.*)["'].*width=(\d+).*height=(\d+).*/>
然后我认为你可以使用正确的php函数替换(preg_replace我猜?)并使用\1
等反向引用作为第一个匹配的括号,依此类推,以检索不同的值。
但HTML语法过于复杂,无法与regexp一起使用,就像您将在主题上的每个stackoverflow帖子上阅读一样。例如,如果您反转宽度和高度,此处的示例将不起作用。
我认为只要浏览SO,您就可以找到更好的问题解决方案。 (例如:SO)
答案 1 :(得分:1)
它没有回答你的问题,但是不容易:
list($width, $height, $type, $attr) = getimagesize("http://example.com/image.jpg");
然后你不需要在标记中依赖有效的html。