mysql数据库某字段有HTML标签,怎样除去HTML显示?用SELECT语句显示,不要update字段内容。

已经解决,{dede:field.bodyfunction=Html2text(@me)/}可以过滤HTML,不过功能不是很精确... 已经解决,{dede:field.body function=Html2text(@me)/}可以过滤HTML,不过功能不是很精确 展开
 我来答
百度网友a19d193
2013-03-15 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1421万
展开全部
以下代码是从zend framework中某个对象摘出来的,自己调试一下吧。因为原始功能允许设置那些标签是允许使用,所以有一部分你应该用不到。自己分析下咯
  public function filter($value)
  {
  $value = (string) $value;
  // Strip HTML comments first
  while (strpos($value, '<!--') !== false) {
  $pos = strrpos($value, '<!--');
  $start = substr($value, 0, $pos);
  $value = substr($value, $pos);
  // If there is no comment closing tag, strip whole text
  if (!preg_match('/--\s*>/s', $value)) {
  $value = '';
  } else {
  $value = preg_replace('/<(?:!(?:--[\s\S]*?--\s*)?(>))/s', '', $value);
  }
  $value = $start . $value;
  }
  // Initialize accumulator for filtered data
  $dataFiltered = '';
  // Parse the input data iteratively as regular pre-tag text followed by a
  // tag; either may be empty strings
  preg_match_all('/([^<]*)(<?[^>]*>?)/', (string) $value, $matches);
  // Iterate over each set of matches
  foreach ($matches[1] as $index => $preTag) {
  // If the pre-tag text is non-empty, strip any ">" characters from it
  if (strlen($preTag)) {
  $preTag = str_replace('>', '', $preTag);
  }
  // If a tag exists in this match, then filter the tag
  $tag = $matches[2][$index];
  if (strlen($tag)) {
  $tagFiltered = $this->_filterTag($tag);
  } else {
  $tagFiltered = '';
  }
  // Add the filtered pre-tag text and filtered tag to the data buffer
  $dataFiltered .= $preTag . $tagFiltered;
  }
  // Return the filtered data
  return $dataFiltered;
  }
追问

不要PHP代码,要SQL代码。因为是给织梦CMS的文章列表添加字数功能,如果PHP的话,就破坏架构了。只能用SQL把字段BODY内容除去HTML标签显示出来,再算出字数。因为不除代码的话,只要加{dede:field.body/},就出现以下图片那样

luocongjay
2013-03-15 · TA获得超过949个赞
知道小有建树答主
回答量:1382
采纳率:33%
帮助的人:430万
展开全部
既然是除去 那当然得update.
建议你用程序写。 先显示出来。再用程序去掉html 再update。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
推荐于2018-04-13 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部
select replace(字段名,'HTML','') from 表名

这个意思么?
更多追问追答
追问
是除去所有HTML标签,例如我有
,显示 :我有,你的只是除去html吧
追答
这个貌似仅靠一个单纯的sql语句搞不定
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式