起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2975|回复: 13

[结贴] 如何去除文章中的html字符?

[复制链接]

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
发表于 2017-2-27 11:31:53 | 显示全部楼层 |阅读模式
怎么 在X5的js程序中,replace函数无效?我目的是想要去除文章中的html字符,
在w文件中:bind-text="$model.parseHtml(ref('Description'))"
在js文件中:Model.prototype.parseHtml = function(stringDescription) {
                var newDescription = stringDescription.replace(/<[^>]+>/g,"");//去掉所有的html标记  
                return newDescription;
        };
结果出现错误:TypeError: Unable to process binding "text:function(){return $model.parseHtml(ref('Description'))}" Message:stringDescription.replace is not a function at Model.parseHtml.

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-2-27 11:35:41 | 显示全部楼层
你在哪使用的replace?
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-27 11:45:36 | 显示全部楼层
在js文件中:Model.prototype.parseHtml = function(stringDescription) {
                var newDescription = stringDescription.replace(/<[^>]+>/g,"");//去掉所有的html标记  
                return newDescription;
        };
结果出现错误:TypeError: Unable to process binding "text:function(){return $model.parseHtml(ref('Description'))}" Message:stringDescription.replace is not a function at Model.parseHtml.
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-27 11:46:14 | 显示全部楼层
w文件:
<?xml version="1.0" encoding="utf-8"?>

<div xmlns="http://www.w3.org/1999/xhtml" xid="window" class="window" component="$UI/system/components/justep/window/window"
  design="device:m;">  
  <div component="$UI/system/components/justep/model/model" xid="model">
  <div component="$UI/system/components/justep/data/data" autoLoad="true" xid="activityData" idColumn="ActivityID" onCustomRefresh="activityDataCustomRefresh" autoNew="false">
   <column label="id" name="ActivityID" type="String" xid="xid1"></column>
  <column label="标题" name="Title" type="String" xid="xid2"></column>
  <column label="图片" name="Photo" type="String" xid="xid3"></column>
  <column label="摘要" name="Description" type="String" xid="xid4"></column>
</div></div>  
  <div class="panel panel-default x-card x-wangyi" component="$UI/system/components/bootstrap/panel/panel" xid="panel5">
    <div component="$UI/system/components/justep/list/list" class="x-list" data="activityData" limit="5" xid="list1">
      <ul class="x-list-template" xid="listTemplateUl1" bind-click="detailClick">
        <li xid="li1" class="list-group-item x-flex">  
              <div xid="col26" class="media-heading" bind-click="detailClick">

                <div class="media-left" xid="div18">
                  <h5 bind-text="ref('Title')" class="x-flex1 o-nomargintop" style="font-weight:bold"></h5>
                  <span style="text-align: justify;" bind-text="$model.parseHtml(ref('Description'))" class="text-muted" xid="span36"/>
                </div>
                <div class="media-right" xid="div17">
                  <a xid="a2">
                    <img alt="" xid="image3" class="img_new"  bind-attr-src="$model.getServerImage(val('Photo'))" />
                  </a>
                </div>
              </div>  
        
        </li>
      </ul>
    </div>  
  </div>
</div>
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-27 11:46:47 | 显示全部楼层
js文件:
define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        var Baas = justep.Baas;
       
        var Model = function(){
                this.callParent();
        };
       
        // 图片路径转换
        Model.prototype.getImageUrl = function(url) {
                return require.toUrl(url);
        };
        // 去除html标签
        Model.prototype.parseHtml = function(stringDescription) {
                var newDescription = stringDescription.replace(/<[^>]+>/g,"");//去掉所有的html标记  
                 if(newDescription.length > 100) {  
                         newDescription = newDescription.substring(0,100);  
                    }  
                return newDescription;
        };
        Model.prototype.getServerImage = function(url) {
                return "http://www.weichengs.com/ActivityPhotos/"+url;
        };
        // 页面初始化
        Model.prototype.modelLoad = function(event) {
                $("input[xid=keyInput]", this.getRootNode()).val("请输入关键字...");
        };
       
        // 进入内容页
        Model.prototype.detailClick = function(event) {
                justep.Shell.showPage("detail");
        };
       
        // 下滑显示搜索
        var startY;
        Model.prototype.navContent1Touchstart = function(event) {
                startY = event.originalEvent.changedTouches[0].pageY;
        };
        Model.prototype.navContent1Touchmove = function(event) {
                var moveEndY = event.originalEvent.changedTouches[0].pageY;
                var Y = moveEndY - startY;
                if (Y > 0) {
                        $(".x-seach", this.getRootNode()).slideDown();
                }
        };
       
        Model.prototype.activityDataCustomRefresh = function(event){
        var activityData = event.source;
                Baas.sendRequest({
                            "url" : "/MobService.asmx",
                                "action" : "getAllAcitities",
                                "async" : false,
                                "params" : {
                                        CityID : justep.Shell.cityId.get(),
                                        CategoryID : justep.Shell.categoryId.get()
                                },
                                "success" : function(data) {
                                activityData.loadData(data);// 将返回的数据加载到data组件
                        },
                        error : function() {
                                throw justep.Error.create("加载数据失败");
                        }
                });

        };
       
        return Model;
});
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-2-27 14:45:50 | 显示全部楼层
zjroland 发表于 2017-2-27 11:46
js文件:
define(function(require){
        var $ = require("jquery");

这个应该不会的  你的stringDescription是不是一个stringObject?
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-27 15:32:01 | 显示全部楼层
我按照stringObject处理,加tostring(),还是一样的错误。
2017-2-27 15-30-33.jpg
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-27 15:34:01 | 显示全部楼层
成功了,是没有编译。重新启动 tomcat后成功了。
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-27 15:35:29 | 显示全部楼层
是通过了编译,但是文字显示不出来,只是显示“object object”
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-2-27 16:09:13 | 显示全部楼层
zjroland 发表于 2017-2-27 15:35
是通过了编译,但是文字显示不出来,只是显示“object object”

哪里的文字显示不出来?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-23 20:40 , Processed in 0.113396 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表