โถ ์ ๊ทํํ์์ ์ด์ฉํ ๋ฐฉ๋ฒ
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค';
echo preg_replace('/^((?:(?:.*?๊ฐ){1}.*?))๊ฐ/', '$1'.'๋ท', $str); // ๊ฐ๋๋ค๋ท๋๋ค๊ฐ๋๋ค
*
'/^((?:(?:.*?๊ฐ){1}.*?))๊ฐ/u'
'/^((?:(?:.*?๊ฐ){1}.*?))๊ฐ/ui' ๋์๋ฌธ์ ๋ฌด์
* n๋ฒ์งธ ๋ฌธ์[์ด] ๋ณ๊ฒฝ์ n-1์ ๋๋ค.
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค'; echo preg_replace('/^((?:(?:.*?๊ฐ){0}.*?))๊ฐ/', '$1'.'๋ท', $str); // ๋ท๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค'; echo preg_replace('/^((?:(?:.*?๊ฐ){1}.*?))๊ฐ/', '$1'.'๋ท', $str); // ๊ฐ๋๋ค๋ท๋๋ค๊ฐ๋๋ค
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค'; echo preg_replace('/^((?:(?:.*?๊ฐ){2}.*?))๊ฐ/', '$1'.'๋ท', $str); // ๊ฐ๋๋ค๊ฐ๋๋ค๋ท๋๋ค
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค'; echo preg_replace('/^((?:(?:.*?๊ฐ){3}.*?))๊ฐ/', '$1'.'๋ท', $str); // ๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค
โฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅ
โถ ๋ฌธ์์ด ํจ์๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ.
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค';
$s = '๊ฐ';
$t = '๋ท'; // ์ด ๋ด์ฉ์ด ๊ธธ์ด์ ธ๋ ๋ฌด๋ฐฉ. ์) '๊ฐ๋๋ค'์์ '๋'๋ฅผ 'ํํ'๋ก ๋ฐ๊พธ๋ฉด, '๊ฐํํ๋ค'
echo substr_replace($str, $t, strpos($str, $s, strpos($str, $s) + strlen($s)), strlen($s)); // ๊ฐ๋๋ค๋ท๋๋ค๊ฐ๋๋ค
* ์ง์ ํ ๋ฌธ์๊ฐ 1๊ฐ๋ผ๋ฉด, ์ฒ์ ๊ฒ์ด ๋ฐ๋๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด์ ๋ ์ ์ง ์์๋ ๋๊ฒ ์ฃ ?
โฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅ
โถ ๋ฉํฐ๋ฐ์ดํธ ๋ฌธ์์ด ํจ์๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ
mb_internal_encoding('UTF-8');
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค';
for ($i=$s=0, $loop=mb_strlen($str); $i<$loop; $i++) {
$c = mb_substr($str, $i, 1);
echo $c==='๊ฐ' && ++$s===2 ? '๋ท' : $c; // ์ง์ ํ ๋ฌธ์์ด, 2๋ฒ์งธ์ธ ๊ฒฝ์ฐ๋ง ๋ฐ๋๋ ๋ด์ฉ
}
* ++$s===2 ๋ถ๋ถ์ ์ซ์๋ฅผ ๋ฐ๊พธ๋ฉด ํด๋น ์์น๋ง ๋ฐ๋๋ ๊ฒ์ ๋๋ค.
โฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅ
โถ ์ ๊ทํํ์, ๋ฐฐ์ด, ๋ฌธ์์ด ํจ์ ๋ฑ์ ์ด์ฉํ ๋ฐฉ๋ฒ
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค';
$s = '๊ฐ';
$t = '๋ท';
if ( preg_match_all('/'.preg_quote($s, '/').'/', $str, $m) > 1 ) { // ๋๋ substr_count($str, $s) > 1
$temp = preg_split('//u', $str, -1, 1);
$p = array_search($s, $temp);
$temp[$p] = '__TEMP__';
$temp[array_search($s, $temp)] = $t;
$temp[$p] = $s;
echo implode('', $temp); // ๊ฐ๋๋ค๋ท๋๋ค๊ฐ๋๋ค โฆ implode($temp)์ฒ๋ผ ์ฌ์ฉํ ์ ์์ง๋งโฆ
}
โฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅ
โถ ์ ๊ทํํ์, ๋ฌธ์์ด ํจ์ ๋ฑ์ ์ด์ฉํ ๋ฐฉ๋ฒ
$str = '๊ฐ๋๋ค๊ฐ๋๋ค๊ฐ๋๋ค';
$s = '๊ฐ';
$t = '๋ท';
$c = preg_match_all('/[^'.$s.']*'.$s.'[^'.$s.']*/', $str, $m);
if ( $c > 1 ) {
$m[0][1] = str_replace('๊ฐ', '๋ท', $m[0][1]);
echo implode('', $m[0]); // ๊ฐ๋๋ค๋ท๋๋ค๊ฐ๋๋ค
}
* ๋ง์ฐฌ๊ฐ์ง๋ก n๋ฒ์งธ๋ง ๋ณ๊ฒฝํ๊ฒ ๋ค๋ฉด $m[0][n-1]๋ง ์์ ํ๋ฉด ๋ฉ๋๋ค.
โฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅ
* ์ฌ๋ฐ์ด์ ์ฝ๋์ ์ค๋ช ์ ์ข ๋ ์ถ๊ฐํ์ด์.
https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=463091#c_463093
ํด๋ฆญ ์ด๋ฒคํธ ์คํ ๊ฒฐ๊ณผ ํ์ธ
$(function () {
$(window).keydown(function(e){
console.log(e);
});
});
$str = "๊ฐ๋ ๋ค๋ผ ๋ง์ ์ฌ์ ์นด์นด์บ ํ ์คํธ";
$str = preg_replace("/\s+/", "", $str);
$txt_arr = array();
for ($i = 0; $i < mb_strlen($str,"UTF-8"); $i++) {
$txt = mb_substr ($str, $i, 1, 'UTF-8');
array_push ($txt_arr, $txt);
}
$txt_arr[1] = "ํค";
//print_r($txt_arr);
$str = implode ("", $txt_arr);
echo $str;
1. ๋ฌธ์์ด ๊ณต๋ฐฑ ์ ๊ฑฐ
2. ๋ฌธ์์ด ๋ฐฐ์ด๋ก ๋ณ๊ฒฝ
3. ํด๋นํ๋ ์์น์ ๊ฐ ๋ณ๊ฒฝ (์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋, ๋๋ฒ์งธ๋ 1)
4. ๋ฐฐ์ด์์ ๋ฌธ์์ด๋ก ๋ค์ ๋ณ๊ฒฝ
'๊ฐ๋ฐ์ด์ผ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Oracle 12c ์ธ์คํด์ค ํด๋ผ์ด์ธํธ ์ค์น ์ ์ค๋ฅ (0) | 2018.12.10 |
---|---|
PHP, JS ๋ชจ๋ฐ์ผ ์ฒดํฌ (0) | 2018.11.15 |
JAVA FOREACH๋ฌธ (0) | 2018.11.12 |
AES ENCRYPT/DECRYPT ์ฒ๋ฆฌ (0) | 2018.10.12 |
JS ํค๋ณด๋ ์ด๋ฒคํธ ์ ์ด (0) | 2018.05.09 |