找到很多
keyword =“带引号的文字”
但没有忽略双引号或单引号keyword =“text with 引用“或keyword ='带引号'的文字
我制作了以下代码,但它不起作用
函数GENERIC_FIND_KEYWORD_AND_QUOTED_TEXT($ STR)
{// keyword =“”被空格或非符号字符串包围(在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“”; //会
像数组一样的数组('key1'=>'text','key2'=>“text” ,'key3'=>'text','key4'=>'text','key5'=>'text')}
它不起作用,但是每行匹配多次 符号(定义为[a-zA-Z0-9 _] {1,} 以=单引号或双引号结尾 应检测引用的字符串,忽略引号之间的引号 单引号或双引号....
关键字不是像XML那样用空格包围,而是用任何非符号字符或空格..... 我想验证所有mysql关键字和匹配构造...
在哪里?使它成为特别感兴趣的关键词
输入输出结构:
输入:很少或没有控制,我不知道用户将要输入什么 这个想法是尽可能通用的;考虑引用字符串中的所有内容
keyword =“bla'bla”“dfddfd”或keword2 ='dfdfd“dsdsdfsdfdf'
确定必须正确且一致地说明......
输出:array(keyword =>“bla'bla”“dfddfd”, keyword2 =>'dfdfd“dsdsdfsdfdf', ...)
其次:(略有不同的相关问题) 我想过滤特殊标记的关键字以便以后替换它们(需要不变的组件)
keyword =“bla'bla”“dfddfd”或/和_keword2 ='dfdfd“dsdsdfsdfdf'
我只得到了taged组件_ * =“....”过滤(假设它更有效地更改匹配patern然后遍历所有数组元素以找到secondary关键字patern ... \
输出:array(_keyword2 =>'dfdfd“dsdsdfsdfdf', ...)
答案 0 :(得分:0)
正则表达式:
/([^ ]+)\=((\"([^"]+)\")|(\'([^']+)\'))/