PHP preg replace - Manual |
|
|
 |
14³â Àü |
(PHP 3>= 3.0.9, PHP 4 , PHP 5)
preg_replace -- Á¤±Ô Ç¥Çö½Ä °Ë»ö°ú ġȯÀ» ¼öÇàÇÕ´Ï´Ù.
¼³¸í
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
subject¸¦ °Ë»öÇÏ¿© ¸ÅÄ¡µÈ patternÀ» replacement·Î ġȯÇÕ´Ï´Ù. limit°¡ ÁöÁ¤µÇ¸é, limitȸÀÇ ¸ÅÄ¡¸¸À» ġȯÇÕ´Ï´Ù; limit°¡ -1¶ó¸é, ¸ðµç ¸ÅÄ¡¸¦ ġȯÇÕ´Ï´Ù.
Replacement´Â \\n³ª (PHP 4.0.4ºÎÅÍ) $n ÇüÅÂÀÇ ÂüÁ¶¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¸ðµç ÂüÁ¶´Â n¹ø°·Î ÀâÈù °ýÈ£ ÆÐÅÏÀ¸·Î ´ëüµË´Ï´Ù. nÀº 0¿¡¼ 99±îÁö °¡´ÉÇÏ°í, \\0³ª $0´Â Àüü ÆÐÅÏ¿¡ ¸ÅÄ¡µÈ ÅؽºÆ®¸¦ ÀǹÌÇÕ´Ï´Ù. °ýÈ£¸¦ ¿©´Â°ÍÀº ¼ºêÆÐÅÏÀ» Æ÷ÇÔÇÏ¿© ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊ(1·ÎºÎÅÍ ½ÃÀÛ)À¸·Î Ä«¿îÆ®ÇÕ´Ï´Ù.
¿ªÂüÁ¶ ¹Ù·Î µÚ¿¡ ´Ù¸¥ ¼ýÀÚ°¡ µû¶ó¿À´Â ÆÐÅÏÀ» »ç¿ëÇÒ ¶§´Â(Áï, ¸ÅÄ¡µÈ ÆÐÅÏ ¹Ù·Î µÚ¿¡ ¼ö ¹®ÀÚ°¡ À§Ä¡), \\1 ½ÄÀÇ ¿ªÂüÁ¶¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¿¹¸¦ µé¸é, \\11Àº preg_replace()¿¡¼ ¹®ÀÚ 1ÀÌ µû¶ó¿À´Â ¿ªÂüÁ¶ \\1ÀÎÁö, ¿ªÂüÁ¶ \\1ÀÎÁö¸¦ ±¸ºÐÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ °æ¿ì, ÇØ°áÃ¥Àº \${1}1¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ´Â µ¶¸³µÈ ¿ªÂüÁ¶ $1¸¦ ÀÛ¼ºÇÏ°í, 1À» ¹®ÀÚ·Î ³²°Ü³õ½À´Ï´Ù.
¿¹ 1. ¼ýÀÚ¿¡ ´ëÇØ ¿ªÂüÁ¶ »ç¿ëÇϱâ
<?php
$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = "\${1}1,\$3";
echo preg_replace($pattern, $replacement, $string);
?>
ÀÌ ¿¹Á¦ÀÇ Ãâ·ÂÀº:
April1,2003
¸ÅÄ¡°¡ ¹ß°ßµÇ¸é, º¯È¯µÈ subject¸¦ ¹ÝȯÇÏ°í, ±×·¸Áö ¾ÊÀ¸¸é º¯°æµÇÁö ¾ÊÀº subject¸¦ ¹ÝȯÇÕ´Ï´Ù.
(limit¸¦ Á¦¿ÜÇÑ) preg_replace()ÀÇ ¸ðµç ÀÎÀÚ¿¡´Â ÀÏÂ÷¿ø ¹è¿À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. pattern°ú replacement¿¡ ¹è¿À» »ç¿ëÇÒ ¶§´Â, ¹è¿¿¡ ³ªÅ¸³ª´Â ¼ø¼´ë·Î Å°¸¦ »ý¼ºÇÕ´Ï´Ù. ¶È°°Àº ¼ýÀÚ À妽º ¼ø¼¸¦ °¡Áú ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¾î¶² patternÀ» ¾î¶°ÇÑ replacement·Î ±³Ã¼ÇÒ°ÇÁö¸¦ °áÁ¤Çϱâ À§Çؼ´Â, preg_replace()¸¦ È£ÃâÇϱâ Àü¿¡ °¢°¢ÀÇ ¹è¿¿¡ ksort()¸¦ ½ÇÇàÇؾ߸¸ ÇÕ´Ï´Ù.
¿¹ 2. Á¤·ÄÀ» ÅëÇØ preg_replace() »ç¿ëÇϱâ
<?php
$string = "The quick brown fox jumped over the lazy dog.";
$patterns[0] = "/quick/";
$patterns[1] = "/brown/";
$patterns[2] = "/fox/";
$replacements[2] = "bear";
$replacements[1] = "black";
$replacements[0] = "slow";
echo preg_replace($patterns, $replacements, $string);
?>
Ãâ·Â:
The bear black slow jumped over the lazy dog.
patterns¿Í replacemets¸¦ ksortÇÔÀ¸·Î½á, ¿øÇÏ´ø °á°ú¸¦ ¾ò°Ô µË´Ï´Ù.
<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>
Ãâ·Â:
The slow black bear jumped over the lazy dog.
subject°¡ ¹è¿À̸é, subjectÀÇ ¸ðµç ¿£Æ®¸®¿¡ °Ë»ö°ú ±³Ã¼¸¦ ½ÇÇàÇÏ°í, ¹è¿À» ¹ÝȯÇÕ´Ï´Ù.
pattern°ú replacement°¡ ¹è¿À̸é, preg_replace()´Â °¢°¢ÀÇ ¹è¿¿¡¼ °ªÀ» °¡Á®¿Í¼ subject¸¦ °Ë»öÇÏ°í ġȯÇϴµ¥¿¡ ÀÌ¿ëÇÕ´Ï´Ù. replacement°¡ patternº¸´Ù ÀûÀ¸¸é, ´ëÀÀÇϴ ġȯ°ªÀ¸·Î ºó ¹®ÀÚ¿À» »ç¿ëÇÕ´Ï´Ù. pattern ÀÌ ¹è¿ÀÌ°í replacement°¡ ¹®ÀÚ¿À̸é, ġȯ ¹®ÀÚ¿À» ¸ðµç pattern°ª¿¡ »ç¿ëÇÕ´Ï´Ù. ¹°·Ð, ÀÌ °æ¿ìµéÀÇ ¹Ý´ë´Â ¸»ÀÌ ¾ÈµË´Ï´Ù.
/e º¯°æÀÚ´Â preg_replace()°¡ replacement ÀÎÀÚ¸¦ ÂüÁ¶ ġȯÀ» ÇÑ ÈÄ¿¡ PHP ÄÚµå·Î Ãë±ÞÇÕ´Ï´Ù. ÆÁ: replacement°¡ Á¤»óÀûÀÎ PHP ÄÚµå ¹®ÀÚ¿À» °¡Áö°Ô ÇϽʽÿÀ. ±×·¸Áö ¾ÊÀ¸¸é, PHP´Â preg_replace()¸¦ Æ÷ÇÔÇÏ´Â ÁÙ¿¡¼ ÆÄ½Ì ¿¡·¯¸¦ Ãâ·ÂÇÕ´Ï´Ù.
¿¹ 3. ¿©·¯ °ªÀ» ġȯÇϱâ
<?php
$patterns = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/",
"/^\s*{(\w+)}\s*=/");
$replace = array ("\\3/\\4/\\1\\2", "$\\1 =");
echo preg_replace($patterns, $replace, "{startDate} = 1999-5-27");
?>
ÀÌ ¿¹Á¦ÀÇ °á°ú:
$startDate = 5/27/1999
¿¹ 4. /e º¯°æÀÚ »ç¿ëÇϱâ
<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
?>
ÀÔ·ÂµÈ ÅؽºÆ®ÀÇ ¸ðµç HTML ű׸¦ ´ë¹®ÀÚ·Î º¯°æÇÕ´Ï´Ù.
¿¹ 5. HTMLÀ» ÅؽºÆ®·Î º¯È¯Çϱâ
<?php
// $document´Â HTML ¹®¼¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
// ÀÌ´Â HTML ű×, ÀÚ¹Ù½ºÅ©¸³Æ® ¼½¼Ç, °ø¹éÀ»
// Á¦°ÅÇÕ´Ï´Ù. ¶ÇÇÑ, ¸î¸î ÀϹÝÀûÀÎ HTML ¿£Æ¼Æ¼¸¦
// µ¿ÀÏÇÑ ÅؽºÆ®·Î º¯È¯ÇÕ´Ï´Ù.
$search = array ("'<script[^>]*?>.*?</script>'si", // ÀÚ¹Ù ½ºÅ©¸³Æ® Á¦°Å
"'<[\/\!]*?[^<>]*?>'si", // HTML ÅÂ±× Á¦°Å
"'([\r\n])[\s]+'", // °ø¹é Á¦°Å
"'&(quot|#34);'i", // HTML ¿£Æ¼Æ¼ ġȯ
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'(\d+);'e"); // php·Î ½ÇÇà
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$text = preg_replace($search, $replace, $document);
?>
http://php.net/manual/kr/function.preg-replace.php |
|
̵̧ : 327 |
̵̧
¸ñ·Ï
|
|