我有一些字符串要解析,它变得有点复杂了。
<?php
$notecomments = '
This is the first of the notes, and so whatever comes later is appended.<br>
(<b>John Smith</b>) at <b class="datetimeGMT">2012-02-07 00:00:20 GMT</b><hr>This is a comment posted<br><br>(<b>Alex Boom</b>) at <b class="datetimeGMT">2013-02-07 00:08:06 GMT</b><hr>And let's put some more in here<br />with a new line.';
if(preg_match_all('/\(<b>(?:(?!\(<b>).)*/s', $notecomments, $matches)){
print_r($matches);
}
/* result of code:
Array
(
[0] => Array
(
[0] => (<b>John Smith</b>) at <b class="datetimeGMT">2012-02-07 00:00:20 GMT</b><hr>This is a comment posted<br><br>
[1] => (<b>Alex Boom</b>) at <b class="datetimeGMT">2013-02-07 00:08:06 GMT</b><hr>And let's put some more in here<br />with a new line.
)
)
*/
?>
我可以循环浏览“附加”注释,因为我在preg_match_all
正则表达式规则中有要使用的指标。
但是,我的许多笔记在我的preg_match_all
. (在这种情况下:“这是第一个注释,所以后面的内容都会被附加。
”)
我的第一个目标实现了。 这是我上面的代码的结果。我正在提取第一个注释的附加注释。
我的下一个目标是在第一次迭代之前检测到任何东西。这就是我卡住的地方。(在我上面的正则表达式语句中,在第一次迭代之前检测到任何东西)