理解できない正規表現を含む次のコードに出くわしました。
具体的には:
'#<!-- START '. $tag . ' -->(.+?)<!-- END '. $tag . ' -->#si'
PHP は、関数 'preg_match' が次を返すと述べています。
$matches[0] には完全なパターンに一致したテキストが含まれ、$matches[1] には最初にキャプチャされた括弧で囲まれたサブパターンに一致したテキストが含まれます。の上。 "
私はそれを取る
(.+?)
そのような「括弧で囲まれたサブパターン」です。サブパターンについてどこで読むことができますか? w3schools.com とは異なる公式の場所。
/**
* Gets a chunk of page content
* @param String the tag wrapping the block ( <!-- START tag --> block <!-- END tag --> )
* @return String the block of content
*/
public function getBlock( $tag )
{
preg_match ('#<!-- START '. $tag . ' -->(.+?)<!-- END '. $tag . ' -->#si', $this->content, $tor);
$tor = str_replace ('<!-- START '. $tag . ' -->', "", $tor[0]);
$tor = str_replace ('<!-- END ' . $tag . ' -->', "", $tor);
return $tor;
}
リンク付きの説明は役に立ちます!
ありがとう!