방금 ig
에 /
에 #
및 is
을 변경할 필요가 거의 다 같은데하지만 나는 또한 \/b
Live Demo
$str = 'this is a [b]bolded[/b] and [i]italic[/i] string';
// The array of regex patterns to look for
$format_search = [
/\[b\](.*?)\[\/b\]/ig,
/\[i\](.*?)\[\/i\]/ig,
/\[u\](.*?)\[\/u\]/ig
]; // note: NO comma after the last entry
// The matching array of strings to replace matches with
$format_replace = [
'<strong>$1</strong>',
'<em>$1</em>',
'<span style="text-decoration: underline;">$1</span>'
];
// Perform the actual conversion
for (var i =0;i<$format_search.length;i++) {
$str = $str.replace($format_search[i], $format_replace[i]);
}
alert($str)
Other Live Demo
function boldFunc(str, p1, offset, s) {
return '<strong>'+encodeURIComponent(p1)+'</strong>'
}
function italicFunc(str, p1, offset, s) {
return '<em>'+encodeURIComponent(p1)+'</em>'
}
function underlinedFunc(str, p1, offset, s) {
return '<span class="un">'+encodeURIComponent(p1)+'</span>'
}
$str = 'this is a [b]bölded[/b], [i]itälic[/i] and [u]ünderlined[/u] [i]strïng[/i]';
// The array of regex patterns to look for
$format_search = [
/\[b\](.*?)\[\/b\]/ig,
/\[i\](.*?)\[\/i\]/ig,
/\[u\](.*?)\[\/u\]/ig
]; // NOTE: No comma after the last entry
// The matching array of strings to replace matches with
$format_replace = [
boldFunc,
italicFunc,
underlinedFunc
];
// Perform the actual conversion
for (var i =0;i<$format_search.length;i++) {
$str = $str.replace($format_search[i], $format_replace[i]);
}
document.getElementById('output').innerHTML=$str;
에
/b
을 변경했다
javascript/jQuery에서 사용할 함수 이름을 모르겠습니다. 나는 PHP에서와 같이 preg_replace가 아닌 것으로 생각한다. –
@piers는 – mplungjan
업데이트를 참조하십시오. 고맙습니다. –