PHPCon Poland 2024

Açıklamalar

(?# dizilimi sonraki kapatan yaylı ayraca kadar devam eden bir açıklamanın başlangıcını belirtir. İç içe açıklamalara izin verilmez. Açıklama olarak imlenmiş parçalar şablonun yorumlanan parçaları olarak ele alınmazlar.

Eğer PCRE_EXTENDED seçeneği etkinse, şablon içinde, bir karakter sınıfının dışındaki öncelenmemiş bir # karakteri sonraki satırsonu karakterine kadar devam eden bir açıklamanın başlangıcı olarak ele alınır.

Örnek 1 PCRE şablonunda açıklama kullanımı

<?php

$subject
= 'test';

/* (?# açıklama eklemek için PCRE_EXTENDED etkinleştirilmeden kullanılabilir
*/
$match = preg_match('/te(?# this is a comment)st/', $subject);
var_dump($match);

/* Boşluklar ve # PCRE_EXTENDED etkin olmadıkça şablonun parçası olarak
* ele alınır
*/
$match = preg_match('/te #~~~~
st/'
, $subject);
var_dump($match);

/* PCRE_EXTENDED etkin olduğunda, verideki tüm boşluk karakterleri ve
* aynı satırdaki öncelenmemiş # karakterinden sonraki herşey yok sayılır.
*/
$match = preg_match('/te #~~~~
st/x'
, $subject);
var_dump($match);

Yukarıdaki örneğin çıktısı:

int(1)
int(0)
int(1)

add a note

User Contributed Notes 1 note

up
-13
asamaru at asamaru dot net
7 years ago
<?php
$string
= 'test';
echo
preg_match('/te(?# comments)st/', $string) . "\n";
echo
preg_match('/te#~~~~
st/'
, $string) . "\n";
echo
preg_match('/te#~~~~
st/x'
, $string) . "\n";

// result
// 1
// 0
// 1
To Top