假设我在名为index.html
的HTML文件中包含以下文本:
<FONT FACE="Times New Roman, serif">
<FONT SIZE=3>
<SPAN STYLE="background: transparent">
This is my text and it spans lines
within a text file
like this.
</SPAN>
</FONT>
</FONT>
我想要删除FONT标签和FONT属性
FONT关闭标签,但保持介于两者之间的所有内容,并输出到
档案output.html
。
我写了一个简短的PHP程序,我认为会这样做,但事实并非如此 找到模式字符串:
$pattern = '<FONT FACE="Times New Roman, serif"><FONT SIZE=3>((.|\n)*)</FONT></FONT>';
$replacement = '\1';
file_put_contents('./output.html', preg_replace($pattern, $replacement,
file_get_contents('./index.html', FILE_USE_INCLUDE_PATH)));
未找到该模式。任何人都可以发现代码的问题吗?
我是否使用>((.|\n)*)
来捕获所有字符,无论是否
换行与否。
答案 0 :(得分:0)
preg_replace('~<font[^>]*face=\"Times\s+New\s+Roman\s*\,\s*serif\"[^>]*>\s*<font[^>]*size=\'?3\"?[^>]*>(.*?)<\/font>~is', '\1', YOUR_STRING);