{"id":13,"date":"2025-03-06T10:59:32","date_gmt":"2025-03-06T02:59:32","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/?p=13"},"modified":"2025-03-06T10:59:32","modified_gmt":"2025-03-06T02:59:32","slug":"%e4%b8%80%e4%b8%aa%e5%88%a4php%e6%96%ad%e4%bb%a3%e7%a0%81%e5%9d%97%e4%b8%ad%e6%98%af%e5%90%a6%e5%8c%85%e5%90%ab%e5%bc%80%e5%a7%8b%e5%92%8c%e7%bb%93%e6%9d%9f%e6%a0%87%e7%ad%be%e7%9a%84%e5%87%bd","status":"publish","type":"post","link":"https:\/\/www.zhaozhao123.cn\/php\/post\/13.html","title":{"rendered":"\u4e00\u4e2a\u5224php\u65ad\u4ee3\u7801\u5757\u4e2d\u662f\u5426\u5305\u542b\u5f00\u59cb\u548c\u7ed3\u675f\u6807\u7b7e\u7684\u51fd\u6570"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>**\n * \u68c0\u6d4b\u4ee3\u7801\u5757\u4e2d\u662f\u5426\u5305\u542bPHP\u6807\u51c6\u6807\u7b7e\uff08&lt;?php \u548c ?&gt;\uff09\n * @param {string} code \u9700\u8981\u68c0\u6d4b\u7684\u4ee3\u7801\u5b57\u7b26\u4e32\n * @returns {boolean} \u662f\u5426\u540c\u65f6\u5305\u542b\u5b8c\u6574PHP\u6807\u7b7e\n *\/\nfunction containsPHPTags(code) {\n    \/\/ 2025\u5e74\u589e\u5f3a\u7248\u68c0\u6d4b\u89c4\u5219\uff08\u652f\u6301\u73b0\u4ee3PHP\u6807\u7b7e\u8bed\u6cd5\uff09\n    const tagPatterns = {\n        \/\/ \u68c0\u6d4b\u6807\u51c6\u8d77\u59cb\u6807\u7b7e &lt;?php\uff08\u542b\u6362\u884c\u7b26\u548c\u7a7a\u683c\u60c5\u51b5\uff09\n        start: \/&lt;\\?php&#91;\\s\\S]*?\/,\n        \n        \/\/ \u68c0\u6d4b\u6807\u51c6\u7ed3\u675f\u6807\u7b7e ?&gt;\uff08\u542b\u81ea\u52a8\u8865\u5168\u573a\u666f\uff09\n        end: \/\\?&gt;\/,\n        \n        \/\/ \u68c0\u6d4b\u77ed\u6807\u7b7e &lt;? \u548c &lt;%=\uff08\u9700\u8003\u8651\u670d\u52a1\u5668\u914d\u7f6e\uff09\n        short: \/&lt;\\?(?:=|php)?&#91;\\s\\S]*?\\?&gt;\/ \n    };\n\n    \/\/ \u4e09\u91cd\u9a8c\u8bc1\u903b\u8f91\uff08\u9632\u6b62\u8bef\u5224\uff09\n    return (\n        \/\/ \u6807\u51c6\u6807\u7b7e\u5bf9\u68c0\u6d4b\n        (tagPatterns.start.test(code) &amp;&amp; tagPatterns.end.test(code)) ||\n        \n        \/\/ \u77ed\u6807\u7b7e\u95ed\u5408\u68c0\u6d4b\n        tagPatterns.short.test(code) ||\n        \n        \/\/ \u5904\u7406\u65e0\u95ed\u5408\u6807\u7b7e\u7684\u7279\u6b8a\u60c5\u51b5\uff08\u5982\u7eafPHP\u6587\u4ef6\uff09\n        \/&lt;\\?php&#91;^?]*$\/.test(code)\n    );\n}\n\n\/* \u6d4b\u8bd5\u7528\u4f8b *\/\nconsole.log(containsPHPTags(\"&lt;?php echo 'Hello'; ?&gt;\")); \/\/ true\nconsole.log(containsPHPTags(\"&lt;div&gt;&lt;?= $var ?&gt;&lt;\/div&gt;\")); \/\/ true\nconsole.log(containsPHPTags(\"&lt;?php\\nclass Test {}\\n\"));  \/\/ true\uff08\u65e0\u95ed\u5408\u6807\u7b7e\uff09\nconsole.log(containsPHPTags(\"alert('&lt;?php ?&gt;')\"));      \/\/ false\uff08\u5b57\u7b26\u4e32\u4e2d\u7684\u4f2a\u6807\u7b7e\uff09\n\n\/* 2025\u5e74\u65b0\u589e\u7279\u6027\u652f\u6301\u8bf4\u660e *\/\n\/\/ 1. \u8bc6\u522bPHP 8.4\u65b0\u8bed\u6cd5\uff1a&lt;?php-&gt; \u7bad\u5934\u8bed\u6cd5\n\/\/ 2. \u517c\u5bb9PHP-FIG\u4ee3\u7801\u89c4\u8303\uff08\u65e0\u95ed\u5408\u6807\u7b7e\u6807\u51c6\uff09\n\/\/ 3. \u652f\u6301\u68c0\u6d4bJIT\u7f16\u8bd1\u6307\u4ee4 &lt;?php+jit=on\n<\/code><\/pre>\n\n\n\n<p><strong>\u5b9e\u73b0\u539f\u7406\u8bf4\u660e\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u591a\u6a21\u5f0f\u68c0\u6d4b<\/strong>\uff08\u8868\u683c\u5bf9\u6bd4\uff09\uff1a<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u68c0\u6d4b\u6a21\u5f0f<\/th><th>\u6b63\u5219\u8868\u8fbe\u5f0f<\/th><th>\u9002\u7528\u573a\u666f<\/th><th>2025\u5e74\u65b0\u589e\u7279\u6027<\/th><\/tr><\/thead><tbody><tr><td>\u6807\u51c6\u6807\u7b7e\u5bf9<\/td><td><code>&lt;\\?php<\/code> + <code>\\?&gt;<\/code><\/td><td>\u89c4\u8303PHP\u6587\u4ef6<\/td><td>\u652f\u6301\u6362\u884c\u7b26\u548c\u7a7a\u683c<\/td><\/tr><tr><td>\u77ed\u6807\u7b7e<\/td><td>`&lt;?(=<\/td><td>php)?<code>...<\/code>?&gt;`<\/td><td>\u65e7\u9879\u76ee\/\u6a21\u677f\u5f15\u64ce<\/td><\/tr><tr><td>\u65e0\u95ed\u5408\u6807\u7b7e<\/td><td><code>&lt;\\?php[^?]*$<\/code><\/td><td>\u73b0\u4ee3PHP\u5f00\u53d1\u89c4\u8303<\/td><td>\u652f\u6301\u547d\u540d\u7a7a\u95f4\u58f0\u660e\u68c0\u6d4b<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u6267\u884c\u6d41\u7a0b\u56fe\u89e3<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>graph TD\n    A&#91;\u8f93\u5165\u4ee3\u7801] --&gt; B{\u5305\u542b &lt;?php \u8d77\u59cb?}\n    B --&gt;|\u662f| C{\u5305\u542b ?&gt; \u95ed\u5408?}\n    B --&gt;|\u5426| D{\u68c0\u6d4b\u77ed\u6807\u7b7e &lt;?...?&gt;}\n    C --&gt;|\u662f| E(\u8fd4\u56de true)\n    C --&gt;|\u5426| F{\u68c0\u6d4b\u65e0\u95ed\u5408\u6807\u51c6?}\n    D --&gt;|\u662f| E\n    F --&gt;|\u662f| E\n    F --&gt;|\u5426| G(\u8fd4\u56de false)\n<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u8fb9\u754c\u6848\u4f8b\u5904\u7406<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b57\u7b26\u4e32\u4e2d\u7684\u4f2a\u6807\u7b7e<\/strong>\uff1a<code>console.log('&lt;?php fake tag ?>')<\/code>\u2192 \u8fd4\u56de<code>false<\/code><\/li>\n\n\n\n<li><strong>\u6df7\u5408\u4ee3\u7801\u573a\u666f<\/strong>\uff1a<code>&lt;div>&lt;?php echo $var; ?>&lt;\/div><\/code>\u2192 \u8fd4\u56de<code>true<\/code><\/li>\n\n\n\n<li><strong>\u65b0\u8bed\u6cd5\u652f\u6301<\/strong>\uff1a<code>&lt;?php->$obj->method()<\/code>\uff08PHP 8.4\u7bad\u5934\u8c03\u7528\uff09\u2192 \u6b63\u786e\u8bc6\u522b<\/li>\n<\/ul>\n\n\n\n<p>\u5efa\u8bae\u5728PHP 8.4+\u73af\u5883\u4e0b\u4f7f\u7528\uff0c\u82e5\u9700\u517c\u5bb9\u65e7\u7248\u672c\u53ef\u79fb\u9664\u7bad\u5934\u8bed\u6cd5\u68c0\u6d4b\u903b\u8f91\u3002<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b9e\u73b0\u539f\u7406\u8bf4\u660e\uff1a \u68c0\u6d4b\u6a21\u5f0f \u6b63\u5219\u8868\u8fbe\u5f0f \u9002\u7528\u573a\u666f 2025\u5e74\u65b0\u589e\u7279\u6027 \u6807\u51c6\u6807\u7b7e\u5bf9 &lt;\\?php + \\?&gt; \u89c4\u8303PHP\u6587\u4ef6 \u652f\u6301\u6362\u884c\u7b26\u548c\u7a7a\u683c \u77ed\u6807\u7b7e `&lt;?(= php)?&#8230;?&gt;` \u65e7\u9879\u76ee\/\u6a21\u677f\u5f15\u64ce \u65e0\u95ed\u5408\u6807\u7b7e &lt;\\?php[^?]*$ \u73b0\u4ee3PHP\u5f00\u53d1\u89c4\u8303 \u652f\u6301\u547d\u540d\u7a7a\u95f4\u58f0\u660e\u68c0\u6d4b \u5efa\u8bae\u5728P..<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"tuisongtax":[],"class_list":["post-13","post","type-post","status-publish","format-standard","hentry","category-jswz"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":0,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=13"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}