社区
基础编程
帖子详情
求一段程序.
liufeng_ok
2003-08-22 04:16:07
转换html代码中的img标签,如:
$html="<img src='c:\a.gif' width=30 height= 20>";
转换为:
$html= "[uploadpic|30|20|a.gif]"
谢谢
...全文
35
13
打赏
收藏
求一段程序.
转换html代码中的img标签,如: $html=""; 转换为: $html= "[uploadpic|30|20|a.gif]" 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vitalgg
2003-08-22
打赏
举报
回复
//在没有其他属性的情况下使用.(可乱序),只取文件名
echo preg_replace('/<img\s*(?:src=\'.*\x5C([^\x5C]*)\'\s*|width=(.*)\s*|height=(.*)\s*)*\s*>/Ui',"[uploadpic|\\2|\\3|\\1]",$html);
vitalgg
2003-08-22
打赏
举报
回复
echo preg_replace('/<img\s*(?:src=\'.*\x5C(.*)\'\s*|width=(.*)\s*|height=(.*)\s*)*\s*>/Ui',"[uploadpic|\\2|\\3|\\1]",$html);
//在没有其他属性的情况下使用.(可乱序)
xuzuning
2003-08-22
打赏
举报
回复
考虑到标签内的各个属性次序可能有变,所以简单的替换是不行的
<?php
$html="
<font color=red>ok</font>
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
if(preg_match_all("/<img [^>]+>/i",$html,$regs)) {
$p = $regs[0];
foreach($p as $key=>$value) {
$p[$key] = "/".quotemeta($value)."/";
$value = preg_replace("/ +/"," ",$value); // 除去多余的空格
$value = preg_replace("/ ?= ?/","=",$value); // 除去多余的空格
preg_match_all("/\b(\w+)=([^ >]+)/i",$value,$r); // 提取赋值表达式
$ar = array("uploadpic",width=>"",height=>""); // 定义输出缓存
foreach($r[1] as $k=>$v) { // 给缓存赋值
$ar[strtolower($v)] = preg_replace("/'/","",$r[2][$k]);
}
$out[] = "[".join("|",$ar)."]"; // 生成输出串
}
$html = preg_replace($p,$out,$html);
}
echo $html;
?>
vitalgg
2003-08-22
打赏
举报
回复
echo preg_replace('/<img\s*src=\'.*\x5C(.*)\'\s*width=(.*)\s*height=(.*)\s*>/Ui',"[uploadpic|\\2|\\3|\\1]",$html);
liufeng_ok
2003-08-22
打赏
举报
回复
最后一个参数只要文件名
vitalgg
2003-08-22
打赏
举报
回复
echo preg_replace('/<img\s*src=\'(.*)\'\s*width=(.*)\s*height=(.*)\s*>/Ui',"[uploadpic|\\2|\\3|\\1]",$html);
注:必须是src ,width,height三属性按此顺序方有效.如是是乱序的.需修改表达式.
liufeng_ok
2003-08-22
打赏
举报
回复
[uploadpic|30|20|a.gif]
只要文件名
hodat
2003-08-22
打赏
举报
回复
哇晒~~
高难度~~
我不行~~
高手来看看~~
liufeng_ok
2003-08-22
打赏
举报
回复
里面可能还含有别的标签如:
$html="
<font color=red>ok</font>
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
转换为:
$html= "<font color=red>ok</font>uploadpic|30|20|a.gif][uploadpic|30|20|a.gif]"
hodat
2003-08-22
打赏
举报
回复
<?
$html = "<img src='c:\a.gif' width=30 height= 20>";
if(@ereg("^<img.+src=\'(.+)\' width=(.+) height=(.+)>$",$html,$m)){
$te=explode("\\",trim($m[1]));
$html = "[uploadpic|".trim($m[2])."|".trim($m[3])."|".trim($te[1])."]";
}
else{
echo "can't";
}
echo $html
?>
直接付值就好了啊~~
liufeng_ok
2003-08-22
打赏
举报
回复
我的意思是替换.
把
$html="
<img src='c:\a.gif' width=30 height= 20><img src='c:\a.gif' width=30 height= 20>";
转换为:
$html= "[uploadpic|30|20|a.gif][uploadpic|30|20|a.gif]"
hodat
2003-08-22
打赏
举报
回复
钢材看漏了~~
<?
$string = "<img src='c:\a.gif' width=30 height= 20>";
if(@ereg("^<img.+src=\'(.+)\' width=(.+) height=(.+)>$",$string,$m)){
$te=explode("\\",trim($m[1]));
echo "[uploadpic|".trim($m[2])."|".trim($m[3])."|".trim($te[1])."]";
}
else{
echo "can't";
}
?>
hodat
2003-08-22
打赏
举报
回复
<?
$string = "<img src='c:\a.gif' width=30 height= 20>";
if(@ereg("^<img.+src=\'(.+)\' width=(.+) height=(.+)>$",$string,$m)){
echo "[uploadpic|".trim($m[2])."|".trim($m[3])."|".trim($m[1])."]";
}
else{
echo "can't";
}
?>
微信小
程序
系统教程C#版[3/3阶段]_微信小
程序
电商系统
微信小
程序
系统教程[初级阶段],微信小
程序
0基础学起,讲解微信小
程序
开发的基础知识。 微信小
程序
系统教程共有“微信小
程序
系统教程[初级阶段]”、“微信小
程序
系统教程[中级阶段]——核心技术”、“微信小
程序
系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小
程序
系统教程[阶段]全套课程”包含: 1.微信小
程序
系统教程[阶段]_客服消息 2.微信小
程序
系统教程[阶段]_微信支付 3.微信小
程序
系统教程[阶段]_九宝电商系统 学习“微信小
程序
系统教程[阶段]”要
求
有微信小
程序
的基础。建议先学习“微信小
程序
系统教程[初级阶段]”、“微信小
程序
系统教程[中级阶段]”,后在报名“微信小
程序
系统教程[阶段]”。 阶段讲解的客服消息,是针对小
程序
的。后台
程序
用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要
求
同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源
程序
。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小
程序
相关知识,还可以修改后上线。 “微信小
程序
系统教程[中级阶段]——核心技术”重点讲解微信小
程序
事件、组件、API 微信小
程序
系统教程[初级阶段],微信小
程序
0基础学起,讲解微信小
程序
开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小
程序
开发宝典》。 购课请咨询qq2326321088
VC中改变PE文件中Dos Stub
程序
(显示This program cannot be run in DOS mode)那
一段
程序
.
VC中改变PE文件中Dos Stub
程序
(显示This program cannot be run in DOS mode)那
一段
程序
. 1. 先做一个纯DOS下的dos16.exe, (masm5.0编译连接) 2. 然后做一个window下的win32.exe (VC6.0编译连接) 3. 在Vc++菜单|project|project|settings|link|projext
MATLAB中注释
一段
程序
在MATLAB中,可以注释
一段
程序
。 使用“%{”和“%}”。 例如 %{ 。。。 %} 即可。 经典方法是用 if 0,但缺点是不够直观,注释掉的内容仍然保持代码的颜色。现在可以用 %和{ 的组合。输入%{后,后面的代码都会变绿,在注释结束的地方再加上 %} 。在此要注意,“%{”和“%}”都要处于行首! 也可以选中要注释内容,在右键菜单中选择Comment (Unc
ACMNO.4有一个函数 写
一段
程序
,输入x,输出y 输入 一个数x 输出 一个
题目描述 有一个函数 y={ x x<1 | 2x-1 1<=x<10 |3x-11 x>=10 写
一段
程序
,输入x,输出y 输入 一个数x 输出 一个数y 样例输入 14 样例输出 31 提示 使用函数 来源/分类 C语言 思路: 输入一个数进行判断即可! 代码: #include<iostream> usin...
.bss段和.data段
BSS段:BSS段(bss segment)通常是指用来存放
程序
中未初始化的或者初始值为0的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放
程序
中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(code segment/text seg...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章