TIL/PHP

[PHP] ๐Ÿ“˜๋ฌธ์ž์—ด&์ •๊ทœ์‹

hanna๐Ÿค 2022. 1. 30. 12:09
728x90

# ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ

๋ฌธ์ž์—ด(string)

  • ''(๋‹จ๋”ฐ์˜ดํ‘œ), ""(์Œ๋”ฐ์˜ดํ‘œ)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ‘œ๊ธฐํ•œ๋‹ค.
    echo 'hello', echo "hello"
  • ''(๋‹จ๋”ฐ์˜ดํ‘œ)๋‚˜ ""(์Œ๋”ฐ์˜ดํ‘œ)๋ฅผ ํ‘œ๊ธฐํ•  ๋•Œ๋Š” \(์—ญ์Šฌ๋ž˜์‰ฌ)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    echo 'hello\'world\'', echo "hello\"world\""
  • ์ค„๋ฐ”๊ฟˆ ํ•  ๋•Œ๋Š” ์Œ๋”ฐ์˜ดํ‘œ ์•ˆ์—์„œ \n. \r์„ ์‚ฌ์šฉํ•œ๋‹ค.
    echo "hello \n"
  • ๋ฌธ์ž์—ด ์•ˆ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์Œ๋”ฐ์˜ดํ‘œ ์•ˆ์—์„œ {, }(์ค‘๊ด„ํ˜ธ)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    <?
    $a = array('hello', 'world');
    echo "\'๋ณ‘์•„๋ฆฌ๊ฐœ๋ฐœ์ž\'๋ธ”๋กœ๊ทธ์˜ ๊ณต์‹์ธ์‚ฌ๋Š” {$a[0]} {$a[1]}์ž…๋‹ˆ๋‹ค.";
    echo '\"๋ณ‘์•„๋ฆฌ๊ฐœ๋ฐœ์ž\"๋ธ”๋กœ๊ทธ์˜ ๊ณต์‹์ธ์‚ฌ๋Š” '.$a[0].' '.$a[1].'์ž…๋‹ˆ๋‹ค.';
    ?>
     
  • ๋ฌธ์ž์™€ ๋ฌธ์ž๋ฅผ ๋”ํ•  ๋•Œ๋Š” '.'(๋งˆ์นจํ‘œ)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    echo 'hello'.'world'

๋ฌธ์ž์™€ ๊ด€๋ จ๋œ ์ฃผ์š” ํ•จ์ˆ˜

# ์ •๊ทœํ‘œํ˜„์‹

  • ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ค‘์˜ ํ•˜๋‚˜์ด๋‹ค.
  • ํŠน์ •ํ•œ ์กฐ๊ฑด์˜ ๋ฌธ์ž๋ฅผ '๊ฒ€์ƒ‰', '์น˜ํ™˜'ํ•˜๋Š” ๊ณผ์ •์„ ๋งค์šฐ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ค.
  • ๊ตฌ๋ถ„์ž๋กœ ์‹œ์ž‘ํ•ด์„œ ๊ตฌ๋ถ„์ž๋กœ ๋์„ ๋‚ด์•ผํ•œ๋‹ค.
    ๊ตฌ๋ถ„์ž: /, #, ์•ŒํŒŒ๋ฒณ, \, ๊ณต๋ฐฑ์ด ์•„๋‹Œ ๋ฌธ์ž
  • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š” i, ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž์— ๋”ฐ๋ผ์„œ ํ…์ŠคํŠธ์˜ ํ–‰์„ ๊ตฌ๋ถ„ํ•˜๋„๋ก ํ•˜๋Š” m
    ex) /foo bar/im

\b

  • ๋‹จ์–ด์˜ ๊ฒฝ๊ณ„๋ฅผ ์˜๋ฏธ
    <?
    if(preg_match("/\bweb\b/i", "PHP is the web scripting language of chlice.")) {
       echo "A match was found.";
    } else {
       echo "A match was not found.";
    }
    /*
    	์‹คํ–‰๊ฒฐ๊ณผ
    	- web์ด ๋‹จ๋…์œผ๋กœ ์“ฐ์˜€๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด ์ถฉ์กฑ
    	A match was found.
    */
    
    if(preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
      echo "A match was found.";
    } else {
      echo "A match was not found.";
    }
    /*
    	์‹คํ–‰๊ฒฐ๊ณผ
    	- web์ด ๋‹จ๋…์œผ๋กœ ์“ฐ์ด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด ๋ถˆ์ถฉ์กฑ
    	A match was not found.
    */
    ?>

\w

  • ๋ฌธ์ž๋ฅผ ์˜๋ฏธ
    <?
    $subject = 'coding every body http:// opentutorials.org egoing@egoing.com 010-0000-0000';
    /*
    	$match๋ณ€์ˆ˜๋Š” ์œ„์— ๋”ฐ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„๋จ
    	$match๋ณ€์ˆ˜์— ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ €์žฅ๋จ
    	
    	'/'๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ ์‹ถ๋‹ค๋ฉด '\/'๋กœ ํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋ถ„์ž๋ฅผ ๋‹ค๋ฅธ๊ฑฐ๋กœ ๋ฐ”๊พผ๋‹ค.
    	+: ๋ฌธ์ž๊ฐ€ 1๊ฐœ ์ด์ƒ์„ ๊ฒ€์ƒ‰
    	.: ์–ด๋– ํ•œ ๋ฌธ์ž๊ฑด ์ƒ๊ด€์—†์ด .์ด ์œ„์น˜ํ•œ ๊ณณ์— ๋“ฑ์žฅ (any character)
    	\s: ๊ณต๋ฐฑ์„ ์˜๋ฏธํ•จ
    */
    preg_match('~(http://\w+\.\w+)\s(\w+@\w+\.\w+)~', $subject, $match);
    var_dump($match);
    /*
    	var_dump($match)์˜ ์‹คํ–‰๊ฒฐ๊ณผ
        array(3) {
        	[0]=>
        	string(42) "http://oentutorials.org egoing@egoing.com"
        	[1]=>
        	string(24) "http://opentutorials.org"
        	[2]=>
        	string(17) "egoing@egoing.com"
        }
    */
    echo "homepage:".$match[1];
    echo"<br/>";
    echo "email:".$match[2];
    ?>

์˜ˆ์ œ

  • URL์—์„œ ๋„๋ฉ”์ธ์˜ ์ด๋ฆ„ ์ถ”์ถœํ•˜๊ธฐ(php.net์„ ์ถœ๋ ฅ)
    <?
    preg_match('@^(?:http://)?([^/]+)@i', "http://www.php.nex/index.html", $matches);
    $host = $matches[1];  
    // ๊ฒฐ๊ณผ๊ฐ’: www.php.net
    ?>
    • ์ •๊ทœ์‹ ํ•ด์„ค
      @: ๊ตฌ๋ถ„์ž
      ^: ๋ฌธ์ž์—ด์˜ ์ฒ˜์Œ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ๊ณ„, http๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ์–ด ์ถ”์ถœ
      ?:: ()์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์„ $matchs ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
      • http://๋Š” $matchs ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
      ?: ์ˆ˜์–‘์ž๋ฅผ ์˜๋ฏธ, 0๊ฐœ~1๊ฐœ, http://๊ฐ€ 0๊ฐœ๊ฑฐ๋‚˜ 1๊ฐœ๊ฑฐ๋‚˜
      [^/]: /๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋“ค(์ „์ฒด)
      [](๋Œ€๊ด„ํ˜ธ)์•ˆ์— ^: ๋ถ€์ •์„ ์˜๋ฏธํ•จ

 

 

 

 

 

 

 

 

 

 

 

 

์ถœ์ฒ˜: https://opentutorials.org/index.php/course/62

 

PHP ๊ธฐ๋ณธ ์ˆ˜์—… - ์ƒํ™œ์ฝ”๋”ฉ

๊ฐœ์š” PHP๋Š” ์„œ๋ฒ„ ์ธก์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ HTML์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. PHP๋Š” ์›น์„ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์กŒ๊ณ , ์ง€๊ธˆ

opentutorials.org

 

728x90