Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
preg#u match不';不是在php脚本中工作,而是在线工作_Php_Regex - Fatal编程技术网

preg#u match不';不是在php脚本中工作,而是在线工作

preg#u match不';不是在php脚本中工作,而是在线工作,php,regex,Php,Regex,我需要得到一个字符串的所有匹配项,所以我做了一个正则表达式,但当我在php脚本中做这个正则表达式时,它不起作用,我不知道为什么 这是我在上使用的正则表达式: 这是我在脚本php中使用的行(我只添加了分隔符“/”): 和字符串: {"data": {}, "actions": [["html", "\u003cdiv id=\"invites-container\"\u003e\u003cdiv class=\"invitation-table-container\"\u003e\u003cta

我需要得到一个字符串的所有匹配项,所以我做了一个正则表达式,但当我在php脚本中做这个正则表达式时,它不起作用,我不知道为什么

这是我在上使用的正则表达式:

这是我在脚本php中使用的行(我只添加了分隔符“/”):

和字符串:

 {"data": {}, "actions": [["html", "\u003cdiv id=\"invites-container\"\u003e\u003cdiv class=\"invitation-table-container\"\u003e\u003ctable class=\"invitation-table\"\u003e\u003ctr class=\"invitation-row\" data-invite-id=\"351628621\"\u003e\u003ctd class=\"invitation-icon\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/icon_spacer-vflN3BYt2.gif\" class=\"s_web_folder_user_32 sprite_web sprite invitation-icon\" /\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan class=\"invitation-header\"\u003e\u003cspan class=\"invitation-folder-name\"\u003etest\u003c/span\u003e, invited by florian dell'aiera\u003c/span\u003e\u003cbr /\u003e\u003cspan class=\"invitation-details\"\u003e4 hrs ago\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"sf-invite-button-container\"\u003e\u003cspan class=\"sf-invite-action\"\u003e\u003cspan class=\"ajax-loading-indicator\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif\" /\u003e\u003c/span\u003e\u003cform action=\"/inbox_accept\" novalidate=\"novalidate\" onsubmit=\"return Sharing.register_accept(this);\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351628621\" /\u003e\u003cinput type=\"hidden\" name=\"no_redirect\" value=\"True\" /\u003e\u003cinput type=\"submit\" class=\"freshbutton-blue\" value=\"Accept\" /\u003e\u003c/form\u003e \u003cform action=\"/inbox_decline_ajax\" novalidate=\"novalidate\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351628621\" /\u003e\u003cinput type=\"hidden\" name=\"delete_not_on_error\" /\u003e\u003cinput type=\"button\" onclick=\"Sharing.register_decline(this, 351628621);\" value=\"Decline\" class=\"freshbutton\" /\u003e\u003c/form\u003e\u003cform novalidate=\"novalidate\" method=\"post\" class=\"view-folder-form\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"button\" class=\"freshbutton view-folder-button\" value=\"View folder\" /\u003e\u003c/form\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"invitation-row\" data-invite-id=\"351017268\"\u003e\u003ctd class=\"invitation-icon\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/icon_spacer-vflN3BYt2.gif\" class=\"s_web_folder_user_32 sprite_web sprite invitation-icon\" /\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan class=\"invitation-header\"\u003e\u003cspan class=\"invitation-folder-name\"\u003e204canards-20\u2026ll-a_f\u003c/span\u003e, invited by florian dell'aiera\u003c/span\u003e\u003cbr /\u003e\u003cspan class=\"invitation-details\"\u003e23/4/2014 10:51 AM\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"sf-invite-button-container\"\u003e\u003cspan class=\"sf-invite-action\"\u003e\u003cspan class=\"ajax-loading-indicator\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif\" /\u003e\u003c/span\u003e\u003cform action=\"/inbox_accept\" novalidate=\"novalidate\" onsubmit=\"return Sharing.register_accept(this);\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351017268\" /\u003e\u003cinput type=\"hidden\" name=\"no_redirect\" value=\"True\" /\u003e\u003cinput type=\"submit\" class=\"freshbutton-blue\" value=\"Accept\" /\u003e\u003c/form\u003e \u003cform action=\"/inbox_decline_ajax\" novalidate=\"novalidate\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351017268\" /\u003e\u003cinput type=\"hidden\" name=\"delete_not_on_error\" /\u003e\u003cinput type=\"button\" onclick=\"Sharing.register_decline(this, 351017268);\" value=\"Decline\" class=\"freshbutton\" /\u003e\u003c/form\u003e\u003cform novalidate=\"novalidate\" method=\"post\" class=\"view-folder-form\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"button\" class=\"freshbutton view-folder-button\" value=\"View folder\" /\u003e\u003c/form\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\u003c/div\u003e\u003cdiv class=\"db-modal-buttons\"\u003e\u003cspan class=\"ajax-loading-indicator\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif\" /\u003e\u003c/span\u003e\u003cinput type=\"button\" class=\"cancel-button freshbutton-silver\" value=\"Close\" /\u003e\u003c/div\u003e\u003c/div\u003e\u003cscript\u003erequire.config({\"paths\": {}}); requirejs([], function() { // Generated by CoffeeScript 1.3.3\n\n$j('#invites-container').find('.cancel-button').on('click', function() {\n  return DBModalStack.pop();\n});\n });\u003c/script\u003e", ".dynamic-content"]]}
如果有人知道为什么它在php上不起作用


感谢您的帮助

再次尝试:三次反斜杠

以下代码适用于我:

$output = 'div id=\"invites-container\"';

$regs = array();

$x = preg_match('/div id=\\\"invites-container\\\"/', $output, $regs);

print_r($regs);
输出:

Array
(
    [0] => div id=\"invites-container\"
)
这比需要的难多了:-)你试过了吗

preg_match('/input type=\\\\"hidden\\\\" name=\\\\"invitation\\\\" value=\\\\"(\w+)\\\\"/', $output)


注意:在regex101上,它只匹配3个反斜杠。

另一种没有regex的方式(因为您处理的是json和html):

$json=getElementsByTagName('input');
foreach($inputs作为$input){
如果($input->getAttribute('type')=='hidden'&&&$input->getAttribute('name')=='invitation')
echo$input->getAttribute('value')。“\n”;
}

如果我正确查看他的输入字符串,他有转义引号,所以他需要匹配文字反斜杠。@BrianWarshaw你说得对,我忽略了这一点。回到绘图板:-)我试过了,但它也不起作用,我放了双转义,因为字符串搜索是:“…\u003e\u003cinput type=\“hidden\”name=\“invitation\”value=\“351017268\。。。。“所以我对自己说,pregmatch可能因为这个原因不匹配,这就是为什么我添加了双转义码,我尝试了,但它也不起作用:/这很奇怪,我不明白为什么它在我的脚本上不起作用。当我这样做时,phpI有一个意外的t_SL错误,我会寻找原因,我会尽快找到你news@user3573358:您必须检查
EOD是行的开头,并且后面(或之前)没有隐藏的白色字符。感谢您的帮助,我发现了另一种方法,但我采用了氪的解决方案:)
Array
(
    [0] => div id=\"invites-container\"
)
preg_match('/input type=\\\\"hidden\\\\" name=\\\\"invitation\\\\" value=\\\\"(\w+)\\\\"/', $output)
$json = <<<'EOD'
 {"data": {}, "actions": [["html", "\u003cdiv id=\"invites-container\"\u003e\u003cdiv class=\"invitation-table-container\"\u003e\u003ctable class=\"invitation-table\"\u003e\u003ctr class=\"invitation-row\" data-invite-id=\"351628621\"\u003e\u003ctd class=\"invitation-icon\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/icon_spacer-vflN3BYt2.gif\" class=\"s_web_folder_user_32 sprite_web sprite invitation-icon\" /\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan class=\"invitation-header\"\u003e\u003cspan class=\"invitation-folder-name\"\u003etest\u003c/span\u003e, invited by florian dell'aiera\u003c/span\u003e\u003cbr /\u003e\u003cspan class=\"invitation-details\"\u003e4 hrs ago\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"sf-invite-button-container\"\u003e\u003cspan class=\"sf-invite-action\"\u003e\u003cspan class=\"ajax-loading-indicator\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif\" /\u003e\u003c/span\u003e\u003cform action=\"/inbox_accept\" novalidate=\"novalidate\" onsubmit=\"return Sharing.register_accept(this);\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351628621\" /\u003e\u003cinput type=\"hidden\" name=\"no_redirect\" value=\"True\" /\u003e\u003cinput type=\"submit\" class=\"freshbutton-blue\" value=\"Accept\" /\u003e\u003c/form\u003e \u003cform action=\"/inbox_decline_ajax\" novalidate=\"novalidate\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351628621\" /\u003e\u003cinput type=\"hidden\" name=\"delete_not_on_error\" /\u003e\u003cinput type=\"button\" onclick=\"Sharing.register_decline(this, 351628621);\" value=\"Decline\" class=\"freshbutton\" /\u003e\u003c/form\u003e\u003cform novalidate=\"novalidate\" method=\"post\" class=\"view-folder-form\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"button\" class=\"freshbutton view-folder-button\" value=\"View folder\" /\u003e\u003c/form\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"invitation-row\" data-invite-id=\"351017268\"\u003e\u003ctd class=\"invitation-icon\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/icon_spacer-vflN3BYt2.gif\" class=\"s_web_folder_user_32 sprite_web sprite invitation-icon\" /\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan class=\"invitation-header\"\u003e\u003cspan class=\"invitation-folder-name\"\u003e204canards-20\u2026ll-a_f\u003c/span\u003e, invited by florian dell'aiera\u003c/span\u003e\u003cbr /\u003e\u003cspan class=\"invitation-details\"\u003e23/4/2014 10:51 AM\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"sf-invite-button-container\"\u003e\u003cspan class=\"sf-invite-action\"\u003e\u003cspan class=\"ajax-loading-indicator\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif\" /\u003e\u003c/span\u003e\u003cform action=\"/inbox_accept\" novalidate=\"novalidate\" onsubmit=\"return Sharing.register_accept(this);\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351017268\" /\u003e\u003cinput type=\"hidden\" name=\"no_redirect\" value=\"True\" /\u003e\u003cinput type=\"submit\" class=\"freshbutton-blue\" value=\"Accept\" /\u003e\u003c/form\u003e \u003cform action=\"/inbox_decline_ajax\" novalidate=\"novalidate\" method=\"post\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"hidden\" name=\"_subject_uid\" value=\"64927232\" /\u003e\u003cinput type=\"hidden\" name=\"invitation\" value=\"351017268\" /\u003e\u003cinput type=\"hidden\" name=\"delete_not_on_error\" /\u003e\u003cinput type=\"button\" onclick=\"Sharing.register_decline(this, 351017268);\" value=\"Decline\" class=\"freshbutton\" /\u003e\u003c/form\u003e\u003cform novalidate=\"novalidate\" method=\"post\" class=\"view-folder-form\"\u003e\u003cinput type=\"hidden\" name=\"t\" value=\"QieCCwKi5xdK172qdmIOddoI\" /\u003e\u003cinput type=\"button\" class=\"freshbutton view-folder-button\" value=\"View folder\" /\u003e\u003c/form\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\u003c/div\u003e\u003cdiv class=\"db-modal-buttons\"\u003e\u003cspan class=\"ajax-loading-indicator\"\u003e\u003cimg src=\"https://dt8kf6553cww8.cloudfront.net/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif\" /\u003e\u003c/span\u003e\u003cinput type=\"button\" class=\"cancel-button freshbutton-silver\" value=\"Close\" /\u003e\u003c/div\u003e\u003c/div\u003e\u003cscript\u003erequire.config({\"paths\": {}}); requirejs([], function() { // Generated by CoffeeScript 1.3.3\n\n$j('#invites-container').find('.cancel-button').on('click', function() {\n  return DBModalStack.pop();\n});\n });\u003c/script\u003e", ".dynamic-content"]]}
EOD;

$html = json_decode($json)->actions[0][1];

$dom = new DOMDocument();
@$dom->loadHTML($html);

$inputs = $dom->getElementsByTagName('input');

foreach($inputs as $input) {
    if ($input->getAttribute('type') == 'hidden' && $input->getAttribute('name') == 'invitation')
        echo $input->getAttribute('value'). "\n";
}