用 php 将每个 font size="" 替换为 font-size: ;如何? [关闭]

Posted

技术标签:

【中文标题】用 php 将每个 font size="" 替换为 font-size: ;如何? [关闭]【英文标题】:Replace with php each font size="" to font-size: ; how to? [closed] 【发布时间】:2014-11-18 19:23:07 【问题描述】:

我想用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...

【问题讨论】:

来吧.... 2 upvotes 问“为我做这项工作,因为我懒得自己尝试任何事情”?至少表明你在来这里乞讨之前已经尝试过做某事 &lt;font&gt; 标签给我带来了我小时候的美好回忆:_) 你好,马克是伊娃,我是新手,几乎是菜鸟,所以请原谅我。根据我的知识,我尝试了这个: $convert= str_replace('someword', 'somwword', $石油公司); ...但是正如您所看到的,我不想这样做,我怎样才能使这项工作适用于文本可能包含的 ervey 可能值(数字)?也许使用正则表达式的东西,但我不知道正则表达式! @Evafas *** 不是 为我做我的工作 网站,它是一个 我已经尝试过但它不起作用,请帮助 i> 网站。你似乎没有尝试过任何事情。 为什么要这样用php替换文本?看起来您需要更改模板。这通常是在 IDE 或某些代码编辑器中完成的。使用正则表达式的文本替换功能。 【参考方案1】:

您可以使用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...

【讨论】:

非常感谢玛丽安!正在按你说的那样工作,但没有在 font-size:4 中添加 px;正确的必须是 font-size:4px (with px) 才能工作代码,你能修复一下吗? 所以将它添加到preg_replace() - '&lt;span style="font-size:$1px;"&gt;$2&lt;/span&gt;'中的替换字符串 谢谢,我也终于找到了它$2 这让事情成功了!对不起我的noobiness..但我是编程新手:) 再问一个问题.. 现在以前的 font size="4" 将是 font-size:4px;但实际上与 font-size: 4px; 的值不一样;实际尺寸要小得多......呃知道如何解决这个问题吗? 相关:You can't parse [X]html with regex【参考方案2】:

只需一点提示即可开始:您需要查看 PHP 手册中的 XML Manipulation 章节,更具体地说是 Document Object Model 扩展:

DOMDocument::getElementsByTagName() 会帮你找到&lt;font&gt; 标签 DOMElement::getAttribute() 会让你读取size 属性 而DOMElement::setAttribute() 会让你设置一个新值

编码愉快!


附:我想您正在使用第三方 HTML,但您应该知道,当 CSS 于 1996 年发布时,像 &lt;font&gt; 这样的表示标签已被更好的东西所取代。

【讨论】:

以上是关于用 php 将每个 font size="" 替换为 font-size: ;如何? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

php中有没有将数组的值转换为字符串的函数

css里面的CLASS怎么用

用block变量来对字符数组对象进行排序

如何php给img标签里的src加链接

对网页的文字大小设置,可以使用font-size属性

css中font-size为0的妙用(消除内联元素间的间隔)