我想改變/<\?php\s([\s\S]*?)\?>/gi排除單行 PHP 標記的方式。
例如,這里我只想匹配第二個 PHP 標記而不是第一個:
Test number <?PHP echo($a);?> is here.
This is test number <?PHP echo($b);
$b = $a?> that expanded across multiple lines.
uj5u.com熱心網友回復:
您可以使用
<\?php(?!\S)((?:(?!<\?php(?!\S)|\?>).)*\R[\s\S]*?)\?>
多行的變體.:
<\?php\s((?:(?!<\?php\s|\?>).)*\R(?s:.*?))\?>
請參閱正則運算式演示。詳情:
<\?php- 一個<?php子串(?!\S)- 右側空白邊界(緊靠右側,必須有空白或字串開頭)((?:(?!<\?php(?!\S)|\?>).)*\R[\s\S]*?)- 第 1 組:(?:(?!<\?php(?!\S)|\?>).)*- 除換行符之外的任何單個字符,零個或多個并且盡可能多地出現,不開始一個<?php a right-hand whitespace boundary or?>` 字符序列\R- 換行序列[\s\S]*?/(?s:.*?)- 盡可能少的任何零個或多個字符
\?>- 一個?>子串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453384.html
