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( ".*?<body.*?>(.*?)<\\/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 {
//
字符串
中没有 . 字符,可以在这里进行特殊处理