PHP 如何从mysql 一个字段中提取内容并过滤所有HTML代码,然後存入另一个字段内?

数据库为data,有表products,字段为products_id,language_id,products_short_description,及products_d... 数据库为data,有表products,字段为products_id,language_id,products_short_description,及 products_description,其中products_description 字段下存的是带html标记的完整HTML页面内容数据,有些还包含有CSS及BODY标签,现在需要提取的内容除<h></h><p></p> 及<UL><li></li></UL>(可保留)外的所有标记可全部过滤掉(包括图片、链接),也就是说只需要正文内容。然後存到相同products_id和language_id对应的products_short_description 字段中。请帮忙一下,谢谢~ 展开
 我来答
百度网友51cd0be
2012-07-17 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:57.1万
展开全部
本人不擅长写正则,正则部分 你自己看着写吧
步骤 1 首先测试整理products_short_description
1.1 定义一个 变量内容为 products_description 的某一个完整内容
1.2 用正则过滤掉不想要的东西, 将想要的东西整理好
注:这个做完 你已经完成很大一部分内容了
2 备份数据库表 products,将products复制成 products_test表。为了测试 不破坏products表

3 查询出products_test表内容 。获取到每行数据的时候 执行下 步骤1 的内容
4 将步骤一相关正确的结果 放置到一个数组中 产品id为key ,形成的正确结果为value
5 最终 遍历正确的数组。 执行更新 products_test 表

6 当确认 以上无误 ,那你就可以更改products 表了
知识阅历积累历程

2012-07-18 · 影视爱好者、游戏达人、IT 男
知识阅历积累历程
采纳数:10965 获赞数:6547

向TA提问 私信TA
展开全部
直接使用str_replace()函数即可。
比如:
str_replace("","<h>","<span><h>test</h></span>");把<h>替换成“空”

语法str_replace(find,replace,string,count)

参数描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0b7a1d60e67
2012-07-18 · 超过10用户采纳过TA的回答
知道答主
回答量:203
采纳率:0%
帮助的人:99.5万
展开全部
htmlspecialchars($Param);
传到另一个字段就不用说了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦一笑轩
2012-07-19 · 超过14用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:34.3万
展开全部
就是清楚掉html代码吧 用这个方法试试。
function SpHtml2Text($str)
{
$str =
preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
$alltext = "";
$start = 1;
for($i=0;$i<strlen($str);$i++)
{
if($start==0 && $str[$i]==">")
{
$start = 1;
}
else if($start==1)
{
if($str[$i]=="<")
{
$start = 0;
$alltext .= " ";
}
else if(ord($str[$i])>31)
{
$alltext .= $str[$i];
}
}
}
$alltext = str_replace(" "," ",$alltext);
$alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
$alltext = preg_replace("/[ ]+/s"," ",$alltext);
return $alltext;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式