这是我的函数:
function grabstuff()
{
foreach (glob("../folder/*.php") as $fn)
{
$file = file_get_contents($fn);
preg_match_all("#'{'('('w+)'')}#", $file, $matches);
foreach ($matches[1] as $match)
{
$query = ("ALTER TABLE xxxxx ADD COLUMN `$match` LONGTEXT AFTER xxxxx;");
$result = mysql_query($query) or die("Err: ".mysql_error());
}
}
}
这是它在页面上寻找的内容:
<?/*{('test test')}*/?>
它忽略了存在空格的此实例。 它适用于测试测试和test_test。 没有收到任何php错误或mysql错误。 我需要使用'w+'S
还是'w+'W
? 我尝试了这两种方法,甚至(... (它仍然不起作用。 如何让我的上述函数识别 {(''(} 中的任何字符,无论它们是普通的 abc 字符还是空格。 我相信这很简单。 我已经在谷歌和这里做了研究,但找不到解决方案。(如果有帮助,任何给定页面上都会有多个 {(''(} 实例(。 我已经使用这个函数一段时间了,但想添加包含空格的功能。 谢谢!
'('w+)'
'w
都是字母数字字符和下划线 - 不包括空格。只需使用字符集:
'(['w's]+)'