用php替换每个font-size="";至字体大小:;如何


Replace with php each font size="" to font-size: ; how to?

我想用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>这样的表示标记被更好的东西取代了。