找到很多
关键字=“带引号的文字”
但没有人忽略双引号或单引号关键字=“带引号的文本”或关键字='带引号的文本'
我生成了以下代码,但它不起作用
function GENERIC_FIND_KEYWORD_AND_QUOTED_TEXT($STR)
{ // 关键字=" " 被空格或非符号字符串包围(在 a-zA-Z0-9_ 之外// 使用 (key1=' embeded qwuotes' AND key2=" embeded qwuotes") !key3=' embeded qwuotes' key4=" embeded qwuotes" ... // 作为输入字符串
$res=preg_match_all('/[a-zA-Z0-9_]{1,}=("((?:[^\\\]*?(?:\\\")?)*?)"|\'((?:[^\\\]*?(?:\\\')?)*?)\')/', $str, $arr, PREG_SET_ORDER);
print_r($arr);echo ""; // 将
像数组一样 array('key1'=>'text','key2'=>"text" ,'key3'=>'text','key4'=>'text','key5'=>'text' ) }
它不起作用,但应该在符号上的每行匹配多次(定义为 [a-zA-Z0-9_]{1,} 以 = 单引号或双引号结尾,应检测带引号的字符串,忽略中间的引号单引号或双引号....
关键字不是像 XML 中那样被空格包围,而是带有任何非符号字符或空格......例如,我想验证所有 mysql 关键字和匹配结构......
在哪里?使其成为特别感兴趣的关键字
输入输出结构:
输入:很少或没有控制,我不知道用户要输入什么,尤其是要尽可能通用;考虑引用字符串中的所有内容
关键字="bla'bla""dfddfd"或keword2='dfdfd"dsdsdfsdfdf'
确保它必须正确且一致地陈述....
输出:数组(关键字=>“bla'bla”“dfddfd”,keyword2=>'dfdfd“dsdsdfsdfdf',...)
其次:(略有不同的相关问题)我想过滤特殊标记的关键字以稍后替换它们(需要未更改的组件)
关键字="bla'bla""dfddfd"或/和_keword2='dfdfd"dsdsdfsdfdf'
我只得到标记的组件 _*="...." 过滤(假设更改匹配模式更有效,然后循环遍历所有数组元素以查找辅助关键字模式... \
输出:数组(_keyword2=>'dfdfd " dsdsdfsdfdf', ...)