相关文章推荐

public class SubStringHTML

public String subStringHTML(String param,int length,String end) {

StringBuffer result = new StringBuffer();

int n = 0;

char temp;

boolean isCode = false; //是不是HTML代码

boolean isHTML = false; //是不是HTML特殊字符,如

for (int i = 0; i < param.length(); i++) {

temp = param.charAt(i);

if (temp == '

isCode = true;

else if (temp == '&') {

isHTML = true;

else if (temp == '>' && isCode) {

n = n - 1;

isCode = false;

else if (temp == ';' && isHTML) {

isHTML = false;

if (!isCode && !isHTML) {

n = n + 1;

//UNICODE码字符占两个字节

if ( (temp + "").getBytes().length > 1) {

n = n + 1;

result.append(temp);

if (n >= length) {

break;

result.append(end);

//取出截取字符串中的HTML标记

String temp_result = result.toString().replaceAll("(>)[^<>]*()", "$1$2");

//去掉不需要结素标记的HTML标记

temp_result = temp_result.replaceAll("?(AREA|BASE|BASEFONT|BODY|BR|COL|COLGROUP|DD|DT|FRAME|HEAD|HR|HTML|IMG|INPUT|ISINDEX|LI|LINK|META|OPTION|P|PARAM|TBODY|TD|TFOOT|TH|THEAD|TR|area|base|basefont|body|br|col|colgroup|dd|dt|frame|head|hr|html|img|input|isindex|li|link|meta|option|p|param|tbody|td|tfoot|th|thead|tr)[^<>]*/?>",

//去掉成对的HTML标记

temp_result=temp_result.replaceAll("]*>(.*?)\\1>","$2");

//用正则表达式取出标记

Pattern p = Pattern.compile("]*>");

Matcher m = p.matcher(temp_result);

List endHTML = new ArrayList();

while (m.find()) {

endHTML.add(m.group(1));

//补全不成对的HTML标记

for (int i = endHTML.size() - 1; i >= 0; i--) {

result.append("");

result.append(endHTML.get(i));

result.append(">");

return result.toString();

一般是用在字符串中有html标签的截取.如: 后台发布用了在线编辑器, 前台显示内容要截取的情况.import Java.util.ArrayList;import java.util.List;import java.util.regex.Pattern;import java.util.regex.Matcher;/*** @author http://hi.baidu.com/vnplalv...
这个方法的作用是:php 截取 含有 html 标签 字符串 ,如果 标签 未闭合就闭合 标签 ,防止未闭合的 标签 破坏原网页布局。 截取 完之后将多余的内容替换为…或者其他任意字符,支持锚点指定替换到指定位置。 * ============================== 截取 含有 html 标签 字符串 ========================= * @param (string) $str 待 截取 字符串 * @param (int) $lenth 截取 长度 * @param (string) $repalce 超出的内容用$repalce替换之(该参数可以为 html 标签 字符串 java 截取 HTML 标签 字符串 ,一般情况下有三种实现方式:   1、在 截取 字符串 函数中对 HTML 标签 进行闭合(对 标签 作入栈出栈式处理即可)。   2、过滤掉 HTML 。   3、如果需要保留样式的话,可以按照格式提取各节内容,然后分别 截取 之后再重新用 HTML 做出表现样式。   1和2的方法不够好。因为1在 截取 长度时,是边所有的 HTML 标签 都计算在内的,如果有的内容包含 HTML 标签 较...
本文实例讲述了php 截取 html 字符串 及自动 补全 html 标签 的方法。分享给大家供大家参考。具体分析如下: 这里总结一下关于利用php 截取 html 字符串 自动 补全 html 标签 ,实际开发中会经常碰到,很多人直接先strip_tags过滤掉 html 标签 ,但是就只剩下纯文本了,可读性非常差,下面是一个函数,代码如下: 复制代码 代码如下:/**  * 截取 HTML ,并自动 补全 闭合  * @param $ html * @param $length  * @param $end function sub Html ($ html ,$length) {  $result = ”;
另外一个关键点就在于补齐 截取 出来的 标签 ,而在这之前你可能需要面对里面的一些不常用甚至没见过的 标签 ,所以你就需要扩展 标签 ,而这时一个叫 html parser的开源包 则可以帮得上忙了,它里面定义了一些常用的 标签 你可以在读取出来后它会帮你自动补齐,但是面对一些它里面没有的 标签 要怎么办呢,这时你可以自己再扩展出一些属于你自 已的 标签 ,只要继承里面的一个叫CompositeTag的容器类,然后再模仿它已...
java 清除 HTML 标签 格式、CSS 样式 JAVA 代码可以这样写: public static String delTagsFContent(String content){ String str Html ="";// HTML 文本代码 String strClear=str Html .replaceAll( ".*?&lt;body.*?&gt;(.*?)&lt;\\/b...
可以使用 `String` 类的 `substring` 方法来 截取 字符串 的最后一个 字符串 。例如,假设你有一个 字符串 `str`,它包含若干个用 . 分隔的 字符串 ,你可以使用以下代码来 截取 最后一个 字符串 : String lastString = str.substring(str.lastIndexOf(".") + 1); `lastIndexOf` 方法会返回 字符串 中最后一个 . 的索引,然后加上 1 就可以得到最后一个 字符串 的开始位置。把这个位置传给 `substring` 方法即可得到最后一个 字符串 。 注意,如果 字符串 中没有 . 字符,那么 `lastIndexOf` 方法会返回 -1,此时应该特殊处理。例如: int lastDotIndex = str.lastIndexOf("."); if (lastDotIndex >= 0) { String lastString = str.substring(lastDotIndex + 1); } else { // 字符串 中没有 . 字符,可以在这里进行特殊处理
 
推荐文章