请大家帮帮忙哦,最近碰到个相当棘手的问题,是关于字符串转换的。
我有这样的一个字符串:<P><IMG src="http://webdesign.chinaitlab.com/UploadFiles_8014/200708/001.gif"><IMG src="http://webdesign.chinaitlab.com/UploadFiles_8014/200708/002.gif">你好, <IMG src="http://webdesign.chinaitlab.com/UploadFiles_8014/200708/003.gif">吗?还行!</P>
<P> </P>我想把所有的 <IMG 。>这样的标签去掉,但是,有个条件,那张图片的名字得留下来
也就是说,要变成<P>001.gif002.gif你好, 003.gif吗?还行!</P>
<P> </P>
这样!然后还要能转换回来,也就是说,要能相互转换的。
<P>001.gif002.gif你好, 003.gif吗?还行!</P>
<P> </P>
这个要能恢复到当初的那个样子。注意:http://webdesign.chinaitlab.com/UploadFiles_8014/ 是固定的。
对了,这是在 JavaScript 里面。
我有这样的一个字符串:<P><IMG src="http://webdesign.chinaitlab.com/UploadFiles_8014/200708/001.gif"><IMG src="http://webdesign.chinaitlab.com/UploadFiles_8014/200708/002.gif">你好, <IMG src="http://webdesign.chinaitlab.com/UploadFiles_8014/200708/003.gif">吗?还行!</P>
<P> </P>我想把所有的 <IMG 。>这样的标签去掉,但是,有个条件,那张图片的名字得留下来
也就是说,要变成<P>001.gif002.gif你好, 003.gif吗?还行!</P>
<P> </P>
这样!然后还要能转换回来,也就是说,要能相互转换的。
<P>001.gif002.gif你好, 003.gif吗?还行!</P>
<P> </P>
这个要能恢复到当初的那个样子。注意:http://webdesign.chinaitlab.com/UploadFiles_8014/ 是固定的。
对了,这是在 JavaScript 里面。
<br /><br />
<input type="submit" style="width:70px; height:25px;" name="optButton" value="处理" onclick="opt();">
<br /><br />
<textarea id="result" rows="10" cols="100"></textarea>
<br />
<script type="text/javascript">
function opt()
{
var str = document.getElementById("content").value;
var reg = /<IMG src="http:\/\/webdesign\.chinaitlab\.com\/UploadFiles_8014\/(?:[^\/]+\/)*([^"\/]+)">/ig;
var result = str.replace(reg, "$1");
document.getElementById("result").value = result;
}
</script>
1、你只有http://webdesign.chinaitlab.com/UploadFiles_8014/到这里固定,那200708/根据什么取?
2、你的图片的规则是不是都是“数字.gif”,如果不是,那符合什么样的规律上面的两个需求明确了,基本上也就是用下面的代码,正则稍稍修改下即可<textarea id="content" rows="10" cols="100"></textarea>
<br /><br />
<input type="submit" style="width:70px; height:25px;" name="optButton" value="处理" onclick="opt();">
<br /><br />
<textarea id="result" rows="10" cols="100"></textarea>
<br />
<script type="text/javascript">
function opt()
{
var str = document.getElementById("content").value;
var reg = /(\d+\.gif)/ig;
var result = str.replace(reg, "<IMG src=\"http://webdesign.chinaitlab.com/UploadFiles_8014/200708/$1\">");
document.getElementById("result").value = result;
}
</script>
反向的也能不能写一下呢?真的太谢谢了!
其实,我是想做个给留言添加表情的功能,之前实现了,我的做法是将第一段代码整个<img>标签存进数据库,然后取出来就直接在 <div> 中显示,这样方便时很方便,但是,考虑到这样存的数据量会很大,想就存个图片的名称,然后,取出来的时候,再加上前面那个固定的路径,但是搞了好久,没弄出来,
还希望大家给帮帮忙,要是弄出来了,我可以给大家分享下这个功能,当然可能会有更好的办法。
<br /><br />
<input type="submit" style="width:70px; height:25px;" name="optButton" value="处理" onclick="opt();">
<br /><br />
<textarea id="result" rows="10" cols="100"></textarea>
<br />
<script type="text/javascript">
function opt()
{
var str = document.getElementById("content").value;
var reg = /<IMG src="http:\/\/webdesign\.chinaitlab\.com\/UploadFiles_8014\/\d+\/([^"\/]+)">/ig;
var result = str.replace(reg, "$1");
document.getElementById("result").value = result;
}
</script>不知道你这个程序对性能的要求如何,我不认为你这种方法会比直接写数据库好,因为replace这种IO操作要比读写数据库慢的
而且存取时都要处理,似乎有些得不偿失
第一个可能是我刚才,没有拷贝全,200708/ 也是固定的 http://webdesign.chinaitlab.com/UploadFiles_8014/200708/到这为止,其实就是图片不一样而已。
第二个的话,我图片也是有规则的,1.都是数字开头的,并且数字都是3位数的。2.格式么都是 .gif 的。
那就更简单了//正向
<script type="text/javascript">
function opt()
{
var str = document.getElementById("content").value;
var reg = /<IMG src="http:\/\/webdesign\.chinaitlab\.com\/UploadFiles_8014\/200708\/([^"\/]+)">/ig;
var result = str.replace(reg, "$1");
document.getElementById("result").value = result;
}
</script>
//反向
<script type="text/javascript">
function opt()
{
var str = document.getElementById("content").value;
var reg = /(\d{3}\.gif)/ig;
var result = str.replace(reg, "<IMG src=\"http://webdesign.chinaitlab.com/UploadFiles_8014/200708/$1\">");
document.getElementById("result").value = result;
}
</script>
wuyq11
((人生如梦))