将PHP代码片段解析为字符串以获取特定变量的值

时间:2011-12-20 15:34:22

标签: php regex string parsing

我的数据库中有一个varchar字段,其中包含:

 "<?php     
     $html = 'abc' ;    
     $ad_content = Agencies_anonymous::getAd($html);    
     echo $ad_content;
  ?>"

现在,在我的代码中,我必须读取此字段值并获取变量的值 $ html

。这样做的方法是什么?

据说,我已经在我的代码中将字段值提取为字符串(* $ html_string *)。

我应该申请的适当正则表达式是什么?或者,是否有使用字符串函数的强大方法?

3 个答案:

答案 0 :(得分:2)

  

我的数据库中有一个varchar字段,其中包含:

你能做的最好的事情就是没有这样的varchar字段而没有这样的内容。

将您的代码与数据分开,您将逃脱大量的错误和灾难。

答案 1 :(得分:0)

您使用php执行此操作吗?该陈述是否总是看起来像这样?

$code.split("'")[1] 

会得到它 或

$codeSegs = $code.split(' ');
foreach($i = 0; $i <  $codeSegs.length; $i++)
 if ($codeSegs[$i] == "$html")
   return $codeSeg[$i+2].split("'")[1];

答案 2 :(得分:-1)

如果你想从php代码中解释php代码,你必须使用eval() function。 Javascript也有类似的东西。

$var = "
    $html = 'abc' ;    
    $ad_content = Agencies_anonymous::getAd($html);    
    echo $ad_content;
"

eval($var);
// $html should now be 'in-scope' for usage...