PHP正则表达式 - 查找和替换

5

我试图进行正则表达式匹配和替换,但是无法完成。

示例

<SPAN class="one">first content here</SPAN>
<SPAN class="two">second content here </SPAN>
<SPAN class="three">one; two; three; and more.</span>
<SPAN class="four">more content here.</span>

我想找到每个标签集并替换为以下内容:

查找

<SPAN class="one">first content here</SPAN>

更改为

<one>first content here</one>

同样的方式处理其余的标签。

class="one"class="two"等是我在正则表达式匹配中使用的唯一关键识别符。所以,如果我发现一个带有这些类的标签,那么我想进行替换。我的主要问题是我无法找到第一个闭合标签的出现位置,所以它会从开始到结束找到所有内容,这对我没有用处。到目前为止,我一直在尝试使用notepad++来完成这个任务,但刚刚发现它有其限制,因此任何php帮助将不胜感激。

谢谢!


嗨,我忘记放置代码标签,所以问题出现了混乱。请在回复帖子中阅读它。 - geej
如果你发现自己的帖子有错误,你可以编辑它,而不需要将修正作为答案发布。 - Gabe
很抱歉,我尝试查找该选项但未能找到。请告诉我,我可以删除答案并更正问题。 - geej
1个回答

13
preg_replace('/<span class="(.*?)">(.*?)<\/span>/i', '<$1>$2</$1>', $input);

2
但是有一个打字错误。应该在双引号结束前添加一个)。 - geej

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接