PHP Concatenate变量里面的语句

时间:2012-12-09 23:08:28

标签: php

好的,我整个周末都在上班,显然我的大脑已经崩溃了 - 我无法征服一些我认为应该容易的事情:

使用PHP。我有一个变量:

$pageid = 9999;

我有一个模板页面,里面有数百个语句,比如:

<?php $simplex->menu( 200029999, 200009999,1); ?>

(在每种情况下,9999都在每个数字的末尾)

在所有这些语句中,我需要用变量$​​ pageid替换9999,这样这个数字就不再是硬编码的(使用notepad ++计算批量替换)。

但由于某种原因,我无法提出一种有效的语法,而我在这里找到一个例子的尝试也失败了。任何提示都赞赏!!

更新澄清:

最后,我希望语句将$ pageid编码到其中,即

<?php $simplex->menu( 20002'.$pageid.', 20000'.$pageid.',1); ?>

显然我上面的例子是完整的FUBAR,但只是试图说明我想要实现的最终结果......然后分配给$ pageid的任何值都将应用于语句本身。

3 个答案:

答案 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),并选中正则表达式选项。 这是屏幕截图screenshot