私はこの再帰関数にかなり困惑しています。テキストボックス内の単語を強調表示するために使用していますが、奇妙な出力が得られます:
should be:
#define
testing #define
but instead it's:
testing #define
testing #define
ここにコードがあります
function replace_all( text, old_str, new_str ){
index_of = text.indexOf( old_str );
if( index_of != -1 ){
old_text = text.substring( 0, index_of );
new_text = text.substring( index_of + old_str.length );
new_text = replace_all( new_text, old_str, new_str );
text = old_text + new_str + new_text;
}
return text;
}
関数の何が問題なのかについてのアイデアはありますか? 古いキーワードをすべて、最後に見つかったキーワードに置き換えているようです。