繁体   English   中英

用php中的字符串替换自定义标签的值

[英]replacing a custom tag's value with a string in php

我想读取一个html文件并替换mytag中的内容。

所以在html文件中,我们有这样的东西:

                    <div>
                        <h3><mytag>_THIS_DAY</mytag></h3>
                        <div>
                             [LOGIN]
                        </div>
                    </div>

然后在php文件中,我需要读取文件并替换标签内的值。

str_replace()?

如何获取这些标记在php中的值,然后如何将它们替换为字符串?

str_replace()使用正则表达式,该正则表达式(如本网站的其他地方所述 )通常不足以解析HTML。

您应该使用HTML解析器来检索和/或替换所需的值。

警告: 您不应该使用regexp解析XHTML

也就是说,您仍然可以这样做:

preg_replace("~(?<=<mytag>)[^>]+(?=</mytag>)~", "independance day", $yourHtml);

快速说明:

  • [^>]+我们寻找一个1+ char且不带>的字符串
  • (?<=<mytag>)此字符串必须在<mytag>正向超前
  • (?=</mytag>)此字符串必须由</mytag> (正向</mytag>

现场例子

  • 看一下php手册fpr preg_replace。 使用正则表达式,您可以执行简单的替换
  • 如果您想要更复杂的内容,则可以解析html。 您可以使用例如simple_html_dom-contribution: http ://simplehtmldom.sourceforge.net/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM