/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.ahat; class HtmlEscaper { /** * Escape html characters in the input string. */ public static String escape(String text) { String specials = "&<>\'\""; String[] replacements = new String[]{"&", "<", ">", "'", """}; StringBuilder sb = null; int low = 0; for (int i = 0; i < text.length(); ++i) { int s = specials.indexOf(text.charAt(i)); if (s != -1) { if (sb == null) { sb = new StringBuilder(); } sb.append(text.substring(low, i)); sb.append(replacements[s]); low = i + 1; } } if (sb == null) { return text; } sb.append(text.substring(low)); return sb.toString(); } }