わかりましたので、スマイリー配列を作成しようとしています。問題は、それが JavaScript になることであり、奇妙な文字のためにエラーが発生することです。
ここに私のエラーがあります: [17:14:57.025] SyntaxError: unterminated 括弧コード行は次のとおりです:
var smiley_array = [':)',';)',':P',':D',':O',':(',':\'(',':|',':/',':$',':@','(A)','3:)',':cool:',':*',':lol:',':z'];
文字の前にバックスラッシュが必要な場所があることはわかっており、考えられる限りのことを試してきました。
ありがとう。
編集:
var smiley_array = [':)',';)',':P',':D',':O',':(',':\'(',':|',':/',':$',':@','(A)','3:)',':cool:',':*',':lol:',':z'];
var smiley_xhtml = ['smile','wink','raspberry','big_smile','surprise','sad','crying','plain','worried','embarrassed','angry','angel','devil','cool','kiss','laugh','tired'];
function smilies(text) {
for (var i = 0; i< smiley_array.length; i++) {
word = smiley_array[i].replace(")","\\)");
word = new RegExp(word, "g");
var smiley_img = '<img style="margin-bottom: -3px;" height="20px" width="20px" src="<?php echo $this->x7->smilie_url; ?>' + smiley_xhtml[i] + '.png" />';
text = text.replace(word, smiley_img);
}
return text;
}
関数自体には何も問題がないことに注意してください。配列内の単純なスマイリーを 1 つだけ使用して試しました。