用 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 问“为我做这项工作,因为我懒得自己尝试任何事情”?至少表明你在来这里乞讨之前已经尝试过做某事<font>
标签给我带来了我小时候的美好回忆:_)
你好,马克是伊娃,我是新手,几乎是菜鸟,所以请原谅我。根据我的知识,我尝试了这个: $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()
- '<span style="font-size:$1px;">$2</span>'
中的替换字符串
谢谢,我也终于找到了它$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() 会帮你找到<font>
标签
DOMElement::getAttribute() 会让你读取size
属性
而DOMElement::setAttribute() 会让你设置一个新值
编码愉快!
附:我想您正在使用第三方 HTML,但您应该知道,当 CSS 于 1996 年发布时,像 <font>
这样的表示标签已被更好的东西所取代。
【讨论】:
以上是关于用 php 将每个 font size="" 替换为 font-size: ;如何? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章