需要为固定新闻页图片的大小并且要加链接,首页把新页实现代码贴出来:
$as_message = preg_replace(\'/<img.+src=/index.html"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i\', "<a href=/index.html"$1\" target=_blank title=点击放大图片><img src=/index.html"$1\" border=0 ;screen.width-600)this.width=screen.width-600\" return bbimg(this)\" ></a>", $as_message);
$as_message = preg_replace(\'/<IMG.+SRC=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i\', "<a href=/index.html"$1\" target=_blank title=点击放大图片><img src=/index.html"$1\" border=0 ;screen.width-600)this.width=screen.width-600\" return bbimg(this)\" ></a>", $as_message);
?>
另一种固定图片的js方法:
<tr>
<td> </td>
</tr>
</table>
<script>
var abc=document.getElementById("abc");
var imgs=abc.getElementsByTagName("img");
for (var i=0,g;g=imgs[i];i++)
g.onload=function(){if (this.width>600){this.width=600}else{if (this.height>600)this.height=600}}
</script>
数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,以下是网上找到的详细解决方法,参考其解决了我的问题。
<?php
/*
正则取图片img标记中的任意属性
搜集整理 http://www.
*/
$word = \'<p height="22" align="cenetr">111 22</p> <img height="60" src="/upload/images/aaa.jpg" width=100 float:left;">中国人</div>\';
//取width
preg_match(\'/<img.+(width=\"?\d*\"?).+>/i\',$word,$matches);
echo $matches[1];
//取height
preg_match(\'/<img.+(height=\"?\d*\"?).+>/i\',$word,$matches);
echo $matches[1];
//取src
preg_match(\'/<img.+src=/index.html"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i\',$word,$matches);
echo $matches[1];
/*正则替换去掉或改变图片img标记中的任意属性*****/
$str = \'<p height="22" align="cenetr">111 22</p> <img height="60" src="/upload/images/aaa.jpg" width=100 float:left;">中国人</div>
<p height="22" align="cenetr">31313 224344</p> <img src="/upload/images/bbb.jpg" height="60" width=100 float:left;">1212121</div>\';
//改变src属性(此处将原来的src="/upload/images/bbb.jpg"改变为src="/upload/_thumbs/Images/bbb.jpg")
print preg_replace(\'/(<img.+src=/index.html"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i\',"\${1}_thumbs/Images/\${3}",$str);
/*改变src属性,
此处将原来的src="/upload/images/bbb.jpg"改变为src="/upload/_thumbs/Images/bbb.jpg",并舍弃宽和高
(比如你想在前台显示缩略图,但数据库中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???)
*/
print preg_replace(\'/(<img).+(src=/index.html"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i\',"\${1} \${2}_thumbs/Images/\${3}>",$str);
?>
您可能感兴趣的文章:
php正则表达式完全教程六
php正则表达式完全教程五
php正则表达式完全教程四
php正则表达式完全教程三
php正则表达式完全教程二
php正则表达式完全教程一
实际的项目中,需要把之前数据库中的数据导入进来,这里使用正则获取之前数据库的图片路径,很好用。
<?php
/**
* 正则取图片路径
* by http://www.
*/
$pattern="//";
$str='
';
preg_match_all($pattern,$str,$match);
print_r($match);
/*
1 (?s) 代表 Pattern.DOTALL,也就是匹配换行,允许 img里出现在多行
2 .*?代表非贪婪匹配任意字符,直到后面的条件出现
3 ?: 代表这个匹配但不被捕获,也就是不在结果出现 [\.gif|\.jpg] 是或者的意思
*/
?>
即然说到了php 正则,大家可以参考下之前的文章:
php正则表达式完全教程六
php正则表达式完全教程五
php正则表达式完全教程四
php正则表达式完全教程三
php正则表达式完全教程二
php正则表达式完全教程一
1、类的命名
在为类(class )命名前首先要知道它是什么。如果通过类名的提供的线索,还是想不起这个类是什么的话,那么就说明设计存在问题。
超过三个词组成的混合名是容易造成系统各个实体间的混淆,尝试使用(CRC Se- ssion card)看看该命名所对应的实体是否有着那么多的功用。
对于派生类的命名应该避免带其父类名的诱惑,一个类的名字只与它自身有关,和它的父类叫什么无关。
使用大写字母作为词的分隔,其他的字母均使用小写,名字的首字母使用大写 。不要使用下划线('_') 。
例如:
class Name
2、类库的命名
目前命名空间正在越来越广泛的被采用,以避免不同厂商和团体类库间的类名冲突。当尚未采用命名空间的时候,为了避免类名冲突,一般的做法是在类名前加上独特的前缀,两个字符就可以了,当然多用一些会更好。
例如:
class JjLinkList
{
}
3、方法的命名
采用与类命名一致的规则,同样是使用英文单词诠释出方法的作用。
例如:
{
function DoIt() {};
function HandleError() {};
}
4、类属性的命名
属性命名应该以字符‘m’为前缀。前缀‘m’后采用于类命名一致的规则。‘m’总是在名字的开头起修饰作用,就像以‘r’开头表示引用一样。
前缀'm'防止类属性和方法名发生任何冲突。你的方法名和属性名经常会很类似,特别是存取元素。
例如:
{
function VarAbc() {};
function ErrorNumber() {};
var mVarAbc;
var mErrorNumber;
var mrName;
}
5、方法中参数的命名
第一个字符使用小写字母。在首字符后的所有字都按照类命名规则首字符大写。
这样做可以随时知道哪个变量对应哪个变量。另外,这样做可以使用与类名相似的名称而不至于产生重名冲突。
例如:
{
function StartYourEngines(
&$rSomeEngine,
&$rAnotherEngine);
}
6、变量的命名
所有字母都使用小写。使用'_'作为每个词的分界。很多php 教程中,都做如是说。
通过这一途径,代码中变量的作用域是清晰的。所有的变量在代码中都看起来不同,容易辨认。
例如:
{
$error = OsErr();
$time_of_error = OsErr->getTimeOfError;
$error_processor = OsErr->getErrorProcessor;
}
7、全局变量的命名
全局变量应该带前缀‘g’。
知道一个变量的作用域是非常重要的。
例如:
global &$grLog;
8、函数的命名
函数名字采用C GNU的惯例,所有的字母使用小写字母,使用'_'分割单词。
这样可以更易于区分相关联的类名。
例如:
{
}