字符串
$x= "SDGH <fn>xyz("|",YAG);</fn> is right ";
$code = ?? ;
eval($code);
我必须得到标签内的代码并执行它。
谢谢
答案 0 :(得分:2)
实现这一目标的最佳方法可能是使用正则表达式。如果您想了解有关正则表达式的更多信息,请查看this tutorial。
if(preg_match("/<fn>(.*)<\/fn>/",$x, $matches))
$code = $matches[1];
此代码匹配<fn>
和</fn>
之间的所有内容。请记住,只要涉及用户输入,使用eval
始终是危险的。在这种情况下,您需要确保只允许执行某些代码。
答案 1 :(得分:0)
你不需要正则表达式,你也可以使用字符串函数来获取它。
$input = 'SDGH <fn>xyz("|",YAG);</fn> is right';
$output = substr($input, strpos($input, '<fn>') + 4);
$output = substr($output, 0, strpos($output, '</fn>'));
echo $output;
有很多方法可以获得这个结果,你可以使用正则表达式,字符串函数,甚至爆炸