ćźšçŸ©æžˆăżćźšæ•°

ä»„äž‹ăźćźšæ•°ăŒćźšçŸ©ă•ă‚ŒăŠă„ăŸă™ă€‚ ă“ăźé–ąæ•°ăźæ‹ĄćŒ”ăƒąă‚žăƒ„ăƒŒăƒ«ăŒ PHP ç”„ăżèŸŒăżă§ă‚łăƒłăƒ‘ă‚€ăƒ«ă•ă‚ŒăŠă„ă‚‹ă‹ă€ ćźŸèĄŒæ™‚ă«ć‹•çš„ă«ăƒ­ăƒŒăƒ‰ă•ă‚ŒăŠă„ă‚‹ć Žćˆăźăżäœżç”šćŻèƒœă§ă™ă€‚

PREG ćźšæ•°
ćźšæ•° èȘŹæ˜Ž äœżç”šćŻèƒœ
PREG_PATTERN_ORDER (int) $matches[0] ăŻăƒ‘ă‚żăƒŒăƒłć…šäœ“ă«ăƒžăƒƒăƒă—ăŸæ–‡ć­—ćˆ—ăźé…ćˆ—ă€ $matches[1] は珏 1 ăźă‚­ăƒŁăƒ—ăƒăƒŁç”šă‚”ăƒ–ăƒ‘ă‚żăƒŒăƒłă«ăƒžăƒƒăƒă—ăŸæ–‡ć­—ćˆ—ăźé…ćˆ—ă€ ăšă„ăŁăŸă‚ˆă†ă«ç”æžœăźé †ćșă‚’æŒ‡ćźšă—ăŸă™ă€‚ ă“ăźăƒ•ăƒ©ă‚°ăŻă€preg_match_all() ă§ăźăżäœżç”šă•ă‚ŒăŸă™ă€‚  
PREG_SET_ORDER (int) $matches[0] は 1 ć›žç›źăźăƒžăƒƒăƒăƒłă‚°ă§ă‚­ăƒŁăƒ—ăƒăƒŁă—ăŸć€€ăźé…ćˆ—ă€ $matches[1] は 2 ć›žç›źăźăƒžăƒƒăƒăƒłă‚°ă§ă‚­ăƒŁăƒ—ăƒăƒŁă—ăŸć€€ăźé…ćˆ—ă€ ăšă„ăŁăŸă‚ˆă†ă«ç”æžœăźé †ćșă‚’æŒ‡ćźšă—ăŸă™ă€‚ ă“ăźăƒ•ăƒ©ă‚°ăŻă€preg_match_all() ă§ăźăżäœżç”šă•ă‚ŒăŸă™ă€‚  
PREG_OFFSET_CAPTURE (int) ă“ăźăƒ•ăƒ©ă‚°ă‚’èš­ćźšă—ăŸć Žćˆă€ć„ăƒžăƒƒăƒă«ćŻŸćżœă™ă‚‹æ–‡ć­—ćˆ—ăźă‚Șăƒ•ă‚»ăƒƒăƒˆă‚‚èż”ă•ă‚ŒăŸă™ă€‚ ă“ă‚Œă«ă‚ˆă‚Šă€æˆ»ă‚Šć€€ăŻé…ćˆ—ăźé…ćˆ—ă«ć€‰ă‚ă‚‹ă“ăšă«æłšæ„ă—ăŠăă ă•ă„ă€‚ 配戗ぼすăčăŠăźèŠçŽ ăŒă€ă‚Șăƒ•ă‚»ăƒƒăƒˆ 0 ă«ă€ăƒžăƒƒăƒă—ăŸæ–‡ć­—ćˆ—ă€ ă‚Șăƒ•ă‚»ăƒƒăƒˆ 1 ă«ă€ćŻŸè±Ąæ–‡ć­—ćˆ—ă«ăŠă‘ă‚‹ăăźæ–‡ć­—ćˆ—ăźă‚Șăƒ•ă‚»ăƒƒăƒˆ からăȘă‚‹é…ćˆ—ă«ăȘă‚ŠăŸă™ă€‚  
PREG_SPLIT_NO_EMPTY (int) ă“ăźăƒ•ăƒ©ă‚°ăŻă€preg_split() が、ç©șæ–‡ć­—ćˆ—ă§ăȘいもぼだけ ă‚’èż”ă™ă‚ˆă†ă«ă—ăŸă™ă€‚  
PREG_SPLIT_DELIM_CAPTURE (int) ă“ăźăƒ•ăƒ©ă‚°ăŻă€preg_split() が æ–‡ć­—ćˆ—ćˆ†ć‰Čç”šăźăƒ‘ă‚żăƒŒăƒłäž­ăźă‚«ăƒƒă‚łă«ă‚ˆă‚‹ă‚”ăƒ–ăƒ‘ă‚żăƒŒăƒłă§ă‚­ăƒŁăƒ—ăƒăƒŁă•ă‚ŒăŸć€€ă‚‚ ćŒæ™‚ă«èż”ă™ă‚ˆă†ă«ă—ăŸă™ă€‚  
PREG_SPLIT_OFFSET_CAPTURE (int) PREG_OFFSET_CAPTURE たèȘŹæ˜Žă‚’ć‚ç…§ăă ă•ă„ă€‚ ă“ăźăƒ•ăƒ©ă‚°ăŻă€preg_split() ăźăżă§äœżç”šă•ă‚ŒăŸă™ă€‚  
PREG_UNMATCHED_AS_NULL (int) ă“ăźăƒ•ăƒ©ă‚°ăŻă€ preg_match() ず preg_match_all() が、 マッチしăȘă‹ăŁăŸă‚”ăƒ–ăƒ‘ă‚żăƒŒăƒłă‚’ null べしど $matches ă«ć«ă‚€ă‚ˆă†ă«ă—ăŸă™ă€‚ ă“ăźăƒ•ăƒ©ă‚°ăŒăȘいべ、マッチしăȘă‹ăŁăŸă‚”ăƒ–ăƒ‘ă‚żăƒŒăƒłăŻ ç©șæ–‡ć­—ćˆ—ă«ăƒžăƒƒăƒă—ăŸă‹ăźă‚ˆă†ă«ç©șæ–‡ć­—ćˆ—ăšă—ăŠć ±ć‘Šă•ă‚ŒăŸă™ă€‚ ă“ăźăƒ•ăƒ©ă‚°ă‚’èš­ćźšă™ă‚‹ă“ăšă§ă€ă“ă‚Œă‚‰ă”ăŸă€ăźć Žćˆă‚’ćŒșćˆ„ă§ăăŸă™ă€‚ 7.2.0
PREG_NO_ERROR (int) ă‚šăƒ©ăƒŒăŒć­˜ćœšă—ăȘă‹ăŁăŸć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ă€‚ 5.2.0
PREG_INTERNAL_ERROR (int) PCRE ć†…éƒšă‚šăƒ©ăƒŒăŒç™șç”Ÿă—ăŸć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ă€‚ 5.2.0
PREG_BACKTRACK_LIMIT_ERROR (int) backtrack limit ă«é”ă—ăŸć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ă€‚ 5.2.0
PREG_RECURSION_LIMIT_ERROR (int) recursion limit ă«é”ă—ăŸć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ă€‚ 5.2.0
PREG_BAD_UTF8_ERROR (int) 棊れどいる UTF8 ăƒ‡ăƒŒă‚żă«ă‚ˆăŁăŠç›Žèż‘ăźă‚šăƒ©ăƒŒăŒç™șç”Ÿă—ăŸć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ (UTF-8 ăƒąăƒŒăƒ‰ ă§æ­ŁèŠèĄšçŸă‚’ćźŸèĄŒă—ăŸć Žćˆăźăż)。 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR (int) ă‚Șăƒ•ă‚»ăƒƒăƒˆăŒćŠ„ćœ“ăȘ UTF-8 ă‚łăƒŒăƒ‰ăƒă‚€ăƒłăƒˆăźé–‹ć§‹äœçœźă«ćŻŸćżœă—ăȘă„ć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ (UTF-8 ăƒąăƒŒăƒ‰ ă§æ­ŁèŠèĄšçŸă‚’ćźŸèĄŒă—ăŸć Žćˆăźăż)。 5.3.0
PREG_JIT_STACKLIMIT_ERROR (int) ç›Žèż‘ăź PCRE é–ąæ•°ăźćźŸèĄŒăŒ JIT ă‚čタックç©șé–“ăźćˆ¶é™ă«ă‚ˆăŁăŠć€±æ•—ă—ăŸć Žćˆă« preg_last_error() ă‹ă‚‰èż”ă•ă‚ŒăŸă™ă€‚ 7.0.0
PCRE_VERSION (string) PCRE ăźăƒăƒŒă‚žăƒ§ăƒłăŠă‚ˆăłăƒȘăƒȘăƒŒă‚čæ—„ (䟋: "7.0 18-Dec-2006")。 5.2.4
PCRE_VERSION_MAJOR (int) PCRE ăźăƒĄă‚žăƒŁăƒŒăƒăƒŒă‚žăƒ§ăƒłç•Șć·  
PCRE_VERSION_MINOR (int) PCRE ăźăƒžă‚€ăƒŠăƒŒăƒăƒŒă‚žăƒ§ăƒłç•Șć·  
PCRE_JIT_SUPPORT (bool) PCRE JIT ă‚”ăƒăƒŒăƒˆăŒæœ‰ćŠčかどうかをç€șă—ăŸă™ă€‚  
PREG_GREP_INVERT (int) æŒ‡ćźšă•ă‚ŒăŸăƒ‘ă‚żăƒŒăƒłă«ăƒžăƒƒăƒă—ăȘă„èŠçŽ ă‚’èż”ă—ăŸă™ă€‚  
add a note

User Contributed Notes 2 notes

up
28
erutan409 at hotmail dot com ¶
10 years ago
PREG_PATTERN_ORDER: 1
PREG_SET_ORDER: 2
PREG_OFFSET_CAPTURE: 256
PREG_SPLIT_NO_EMPTY: 1
PREG_SPLIT_DELIM_CAPTURE: 2
PREG_SPLIT_OFFSET_CAPTURE: 4
PREG_NO_ERROR: 0
PREG_INTERNAL_ERROR: 1
PREG_BACKTRACK_LIMIT_ERROR: 2
PREG_RECURSION_LIMIT_ERROR: 3
PREG_BAD_UTF8_ERROR: 4
PREG_BAD_UTF8_OFFSET_ERROR: 5
PCRE_VERSION: %YOUR_VERSION_NUMBER%
up
16
Robert ¶
10 years ago
The new PREG_JIT_STACKLIMIT_ERROR constant introduced with PHP 7.0.0 has got a value of 6.

I experienced this error code when parsing a 112KB file. preg_match_all failed with this error. Interesting was: The matches array contained some entries, but not all as the command failed (I missed to check the return value).

Unfortunately you can not configure the stack-size of the PCRE JIT. The only way out was - at least for me - to disable the PCRE JIT via php.ini (pcre.jit=0).