- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序中有一个 EditText,用于将其内容作为 HTML 存储到 SQLite DB。
当我在文本中添加撇号(例如 Ajinkya 的应用程序)时,EditText 数据不会插入到数据库中,因为它将第一个撇号视为查询中断。
我在这里尝试了许多不同的建议解决方案,但没有成功。例如,我将“'”替换为“\'”,但代码(请参阅下一个代码块)在转换为 html 后仍然没有替换该符号。
String NotesContent = Html.toHtml(notes_content.getText());
String Notestitle = Html.toHtml(notes_title.getText());
if (Notestitle.contains("'")) {
Notestitle = Notestitle.replace("'", "\'");
}
if (NotesContent.contains("'")) {
NotesContent = NotesContent.replace("'", "\'");
}
因此,当我将 EditText 数据保存到字符串变量中,然后将其转换为 HTML 时,我首先尝试将“'”替换为“\'”(请参阅下一个代码块)。但函数 HTML.toHTML() 不接受字符串变量。
String NotesContent = notes_content.getText().toString();
String Notestitle = notes_title.getText().toString();
if (Notestitle.contains("'")) {
Notestitle = Notestitle.replace("'", "\'");
}
if (NotesContent.contains("'")) {
NotesContent = NotesContent.replace("'", "\'");
}
Notestitle = Html.toHtml(Notestitle); // does not accept Strings!
请帮我解决这个问题。
最佳答案
如果您使用 insert方便的方法,这将转义字符串。
举个例子(使用当我在文本中放置撇号时(例如 Ajinkya 的应用程序),EditText 数据不会插入到数据库中,因为它将第一个撇号视为查询中断。 (注意添加了一些 HTML)作为要存储和检索的数据):-
数据库助手DatabaseHelper.java
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DBNAME = "mydb";
public static final int DBVERSION = 1;
public static final String TABLE = "htmlstore";
public static final String IDCOLUMN = BaseColumns._ID;
public static final String HTMLCOLUMN = "html";
SQLiteDatabase db;
public DatabaseHelper(Context context) {
super(context, DBNAME, null, DBVERSION);
db = this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
String crt_htmlstore_table = "CREATE TABLE IF NOT EXISTS " + TABLE + "(" +
IDCOLUMN + " INTEGER PRIMARY KEY," +
HTMLCOLUMN + " TEXT" +
")";
db.execSQL(crt_htmlstore_table);
}
public long insert(String html) {
ContentValues cv = new ContentValues();
cv.put(HTMLCOLUMN,html);
return db.insert(TABLE,null,cv); //<<<< does the escaping for you
}
public String getHTML(long id) {
String rv = "";
Cursor csr = db.query(TABLE,new String[]{HTMLCOLUMN},IDCOLUMN+"=?",new String[]{String.valueOf(id)},null,null,null);
if (csr.moveToFirst()) {
rv = csr.getString(csr.getColumnIndex(HTMLCOLUMN));
}
csr.close();
return rv;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
调用 Activity MainActivity.java:-
public class MainActivity extends AppCompatActivity {
TextView NotesTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NotesTitle = this.findViewById(R.id.notesview);
DatabaseHelper databaseHelper = new DatabaseHelper(this);
// Inserts into the database
databaseHelper.insert(
"When I put an apostrophe in the text <b>(e.g. Ajinkya's application)</b>, " + //<<<< BOLD ADDED
"the EditText data is not getting inserted into the database " +
"<i><strong>because it treats the first apostrophe as a query break</strong></>." //<<<< Italic String ADDED
);
// Extracts from the database and sets the notesview TextView with the extracted text from the HTML (if any)
NotesTitle.setText(Html.fromHtml(databaseHelper.getHTML(1L)));
}
}
结果:-
关于java - 如何在 HTML.toHTML() 中使用字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59719312/
刚找到:TOhtml这个非常有用的命令,现在很期待能在当前目录下自动运行:TOhtml的命令或插件,即转换给定路径下的所有源代码,并保留目录结构。 有什么建议吗? 最佳答案 vim 有 argdo 让
我需要十六进制的颜色字符串,所以我使用 ColorTranslator.ToHtml() 属性返回颜色的十六进制字符串。 如果我选择随机颜色,它会返回“#FFF0B6”等。但是,如果我选择系统定义的颜
我的应用程序中有一个 EditText,用于将其内容作为 HTML 存储到 SQLite DB。 当我在文本中添加撇号(例如 Ajinkya 的应用程序)时,EditText 数据不会插入到数据库中,
我正在尝试从 QWebEnginePage 对象中获取 html 代码。根据 Qt 引用,QWebEnginePage 对象的 'toHtml' 是异步方法,如下所示。 Asynchronous me
我在执行此代码时遇到问题。 错误显示ToHtml()不存在。 谁知道我哪里错了请告诉我。 拥抱并感谢。 import sys import bs4 as bs from PyQt5.QtCore im
我正在开发一个使用 EditText 中的 Spannable 文本的应用程序。在对 Spannable 文本使用 Html.toHtml() 方法后,它在退出时给了我这种字符串。 П
我正在尝试将按钮的文本作为字符串取回,我之前已将其设置为: button.setText(Html.fromHtml("1/8")); 但是,从 Html.toHtml() 返回的字符串是: 1/8
我需要从 QWebEnginePage 中检索一些 html。我在文档中找到了方法 toHtml但它总是返回一个空字符串。我试过 toPlainText 它有效,但这不是我需要的。 MyClass::
尝试使用 HTML 格式化我的输出(在 TextView 中)。我需要从旧输出中获取文本 HTML 格式,并在其上方添加一行新文本。 String previous = Html.toHtml((Sp
( ! ) SCREAM: Error suppression ignored for ( ! ) Fatal error: Call to a member function toHtml() on
尝试使用 org.apache.poi.ss.examples.html.ToHtml.create(...) 将 Excel 文件转换为 Html 时,调用因异常而崩溃 02-28 13:16:06
我是一名优秀的程序员,十分优秀!