Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何编写正则表达式来删除Drupal';什么是缓存表?_Php_Sql_Regex_Drupal - Fatal编程技术网

Php 如何编写正则表达式来删除Drupal';什么是缓存表?

Php 如何编写正则表达式来删除Drupal';什么是缓存表?,php,sql,regex,drupal,Php,Sql,Regex,Drupal,我想编写一个正则表达式,从数据库转储文件中删除Drupal缓存表的所有SQL insert语句,如cache、cache\u bootstrap、cache\u bootstrap等。我基本上是想写一个正则表达式,找到一个以“INSERT INTO`cache”开头,以分号结尾的文本。但是,我无法为同样的问题找到合适的正则表达式。有什么想法吗 以下是我的代码: <?php $sql=file_get_contents("C:\Users\akulkarni\Desktop\drupal7

我想编写一个正则表达式,从数据库转储文件中删除Drupal缓存表的所有SQL insert语句,如
cache
cache\u bootstrap
cache\u bootstrap
等。我基本上是想写一个正则表达式,找到一个以“INSERT INTO`cache”开头,以分号结尾的文本。但是,我无法为同样的问题找到合适的正则表达式。有什么想法吗

以下是我的代码:

<?php

$sql=file_get_contents("C:\Users\akulkarni\Desktop\drupal7.sql");

$matches = array();
preg_match_all('/INSERT INTO `cache([^.]+)`.*?/s', "$sql",$matches , PREG_PATTERN_ORDER);   
var_dump($matches);


?>

以下是示例文本(已修剪):

'插入到
缓存中
cid
数据
过期
已创建
序列化
)值 “CToools”是一个网站。该网站是“CToools:内容”是类型,0x6133A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A373A73A73A73A73A73A73A73A73A73A73A73A73A73A73A73A3A3A3A3A73A3A3A3A3A3A3A3A3A3A3A3A3A3A373A3A3A3A3A3A3A3A3A3A3A3A3A373A3A3A3A3A3733 3 3 A3A3A3A3A373A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3733 3 3 3 3 3 A3A3A3A3A3A3A3A3A3A3A3A3A373737 7 3 3 3 3 3 3 3 3 3 3 3 3 A3A3A373736 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 76162756C6172795F7465726D732E696E63223B733A383A3A22266696C656E616D65223B733A3203A22766F6')

'插入到
缓存\u引导
cid
数据
过期
创建
序列化
)值 (“引导程序”模块,0x613A3323A7B733A353A3A22264626C6F67223B4F3A383A22737464436C617373223A323A7B733A3226E616D6523B733A32264626C6F67223B733A32266696C656E616D6523B733A332363A226D6F64756C65732F64626C6F64646C6672E676D677552237D733A3373737373736B7676767676C67323A37323B7323A37323A37373A362B7363A37363A37373A362B7676767676B7323B7323A37363A373737373A37373A373A373A373767676B737373A373A37376767676B73A373A373A373A373A37373A373A373739223B733A3A3A22266696C656E616D65223B733A333303A226D6F64756C65732F6F7665726C61’)

'插入
cache_字段
cid
数据
过期
创建
序列化
)值 ('field:node:1',0x613A3503A7B733A332313A226669656C645F636F72655F726967696E61746F72223B613A3A3733A3333A22756E6423B613A313A7B733A3303B613A3333A7B733A353A3227616C7565223B733A32243616C69666F726E61961204469696969696969696F6E206F662046C2C2476120616E644747656B6262767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676765F76616C7565223B733A353363A2243616C69666F726E6961204469766973696F6E206F66204F696’)

'插入
缓存\u表单
cid
数据
过期
创建
序列化
)值 (“表格”0x613A332333A7B733A31313A22361747472696275746573223B613A3A3A3A3A3A3A3A3A3A3A3A3A3C6173223B613A3A3A3A3A3A3A3C6173223B613A3A3A3A3A3A3A3303B733A323A2266617472757265732D7D7D733A3A3A3A323A3A3A3A343A343A3A3A37373737363A3A37373737373737373732A27373737373737378706F7272727D7D7D733A3A3A3A3A3A3A3A3A3737373737373636363636363637373737373737373736363636363636363636363636373737373737373737373737373737373737373737373737373737373737373737373737373737373A222374726565223B623A303B733A343A2226E616D65223B613A3A3A7B733A3A3A2237469746C652’)

'插入到
缓存\u引导
cid
数据
过期
创建
序列化
)值 ('links:features:all:0:en:0',0x613A3323A7B733A3A2226D696E5F6465707468223B693A313B733A3226D61785F6465707468223B4E3B7D,0,1316550799,1), ('links:features:tree data:en:EC99D3452ef1de622E66C68BA908B1DAD455AA71F5E686448AEEC6488B89C88',0x613A3323A7B733A323A2274726565223B613A303A7B7D733A3130A226E6F64655F6E6E6B73223B613A303A7B7D7D7D,0,1316550799,1),
('links:main menu:all:0:en:0',0x613A3323A7B733A393A2226D696E5F6465707468223')

您可以使用参数从数据库转储中排除表。 此正则表达式将帮助您定位INSERT语句

INSERT\s+INTO\s+(cache|cache_bootstrap|cache_field|cache_form)[^\;]+