PHP 正则表达式中使用参数

preg_match_all('/\<table width="200" border="1"\>(.+?)\<\/table\>/is',$buffer,$match1);
foreach ($match1[1] as $content){ }

以上代码的正则表达方中,我想通过其他页面$_POST过来的值,如POST过来的<table></table> 、<tr></tr>等,存在$str中,再把$str写到那个正则表达式里面!

简单来说,想通过变量来由客户改变正则表达式.

请问怎么实现?个人觉得应该是转义字符那里很难处理吧!

好几个人商量来来去去都不行,望高人指教!!!!!!!!!

感激不尽!!!
我是想 $key1(.+?)$ke2

然后$key1和$key2 分别存来自用户的设定.

例如 $key1=<title>, $kye2=</title>;

这样能使用户自己确定是取title的内容还是table还是tr的内容!!!!!!

第1个回答  2008-07-23
你是想在preg_match_all的第一个参数使用变量,是吗?

这是可以的,你可以把正在表达式的所有内容写在变量里面,比如
$key='/\<table width="200" border="1"\>(.+?)\<\/table\>/is';
preg_match_all($key,$buffer,$match1);

也可以第一个参数里面使用部分变量,但是注意不要使用单引号,因为单引号是不解释里面的变量的。
相似回答
大家正在搜