好的,我整个周末都在上班,显然我的大脑已经崩溃了 - 我无法征服一些我认为应该容易的事情:
使用PHP。我有一个变量:
$pageid = 9999;
我有一个模板页面,里面有数百个语句,比如:
<?php $simplex->menu( 200029999, 200009999,1); ?>
(在每种情况下,9999都在每个数字的末尾)
在所有这些语句中,我需要用变量$ pageid替换9999,这样这个数字就不再是硬编码的(使用notepad ++计算批量替换)。
但由于某种原因,我无法提出一种有效的语法,而我在这里找到一个例子的尝试也失败了。任何提示都赞赏!!
更新澄清:
最后,我希望语句将$ pageid编码到其中,即
<?php $simplex->menu( 20002'.$pageid.', 20000'.$pageid.',1); ?>
显然我上面的例子是完整的FUBAR,但只是试图说明我想要实现的最终结果......然后分配给$ pageid的任何值都将应用于语句本身。
答案 0 :(得分:1)
这假设没有其他事件发生在9999
$new_var = str_replace('9999',$pageid,$yourvar_with_the_9999);
答案 1 :(得分:1)
您可以使用Notepad ++ Regex驱动的替换引擎(如果我的问题正确):
将(\d+)9999 *,
替换为\1'.$pageid.',
编辑:开头的星号是无稽之谈。
答案 2 :(得分:1)
所以在我看来你想要重构你的代码。这可能看起来很难用搜索/替换,但你的行看起来像这样:
<?php $simplex->menu( intval('20002'.$pageid), intval('20000'.$pageid), 1); ?>
通过这种方式,您可以稍后更改$pageid
的值,一切正常。
要在notepadd ++中替换它,请使用正则表达式:find (\d+)9999,
替换为intval('\1'.$pageid),
并选中正则表达式选项。
这是屏幕截图