我想用font-size="somenumber"
替换每次出现的font size="somenumber"
(每次的数字都不一样!)。
如何使用php进行此操作?
我有一个文本,看起来像这样:
Hello <font size="4">today</font> is my
<font size="3">special day</font> and am
<font size="11">ready</font> for it...
我想把它转换成这个:
Hello <span style="font-size:4;">today</span> is my
<span style="font-size:3;">special day</span> and am
<span style="font-size:11;">ready</span> for it...
您可以使用preg_replace()
。http://php.net/manual/en/function.preg-replace.php
$str = 'Hello <font size="4">today</font> is my <font size="3">special day</font> and am <font size="11">ready</font> for it...';
preg_replace('/<font size="('d+)">(.+?)<'/font>/', '<span style="font-size:$1;">$2</span>', $str)
输出:
Hello <span style="font-size:4;">today</span> is my <span style="font-size:3;">special day</span> and am <span style="font-size:11;">ready</span> for it...
只是一个开始的提示:您需要查看PHP手册中的XML操作章节,更具体地说是文档对象模型扩展:
- DOMDocument::getElementsByTagName()将帮助您查找
<font>
标记 - DOMElement::getAttribute()将允许您读取
size
属性 - DOMElement::setAttribute()将允许您设置一个新值
编码快乐!
附言:我想你正在使用第三方HTML,但你应该知道,当CSS在1996年发布时,像<font>
这样的表示标记被更好的东西取代了。