【发布时间】:2013-09-29 10:11:34
【问题描述】:
我有一个 PHP 网站的副本,那里有很多页面和很多代码。它使用条件语句来确定应该打印哪些内容。这是一个例子(可能有很多像下面这样的sn-ps):
<?php if($countryA): ?>
<div myattr="myvalue">
<?php elseif($countryB): ?>
<div myattr="myvalue">
<?php elseif($countryC): ?>
<div myattr="myvalue">
<?php elseif($countryD): ?>
<div myattr="myvalue">
<?php endif; ?>
比方说,我不在乎国家 A、国家 B 和国家 D 是什么,我只关心国家 C 中是否有 <div myattr="myvalue">。
如果我想知道如果$countryD 是true 会出现多少次<div myattr="myvalue">",我需要使用关键字<div myattr="myvalue"> 在我的网站目录中的所有文件中执行搜索,并检查是否有<?php elseif($countryC): ?> 在每个搜索结果的上下文,这确实是一个巨大的负担......
有什么方法可以帮助我有效地解决这个问题?如果我想以编程方式执行此操作,是否需要 PHP 解析器?
【问题讨论】:
-
一般来说,您需要一个 PHP 解析器来确定任何给定条件的“范围”。但是,如果您正在处理的特定代码受到更多限制(例如,如果每个 if-country 块都像您的示例中一样简单),那么您可以使用更简单的解决方案。那么:遵循任何给定的感兴趣条件的块有多简单/通用?
-
我会说它很笼统,该块不会像我在这里发布的那么简单,实际上,它可能包含数百行代码......看起来我真的需要一个PHP解析器。
标签: php parsing conditional-statements php-parser