![]() |
|
|||||||
|
|
Thread Tools | Display Modes |
|
#4
IP: 180.125.23.38
|
|||
|
|||
|
WordPress: 使用正则获得 帖子上的图片
我知道很多人是WORDPRESS的使用者,你可能会喜欢并且愿意使用 那些从帖子的内容检索下来的图像代码。使用这个代码在你的BLOG只需要复制下面代码到你的某个文件里 Code:
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php
$szPostContent = $post->post_content;
$szSearchPattern = '~<img [^>]* />~';
// Run preg_match_all to grab all the images and save the results in $aPics
preg_match_all( $szSearchPattern, $szPostContent, $aPics );
// Check to see if we have at least 1 image
$iNumberOfPics = count($aPics[0]);
if ( $iNumberOfPics > 0 ) {
// Now here you would do whatever you need to do with the images
// For this example the images are just displayed
for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
echo $aPics[0][$i];
};
};
endwhile;
endif;
?>
被WordPress使用的另一个方法, 这段代码可使你把图像自动更换一个笑脸符号 Code:
$texte='A text with a smiley ';
echo str_replace(':-)','<img src="smileys/souriant.png">',$texte);
Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$str = '
<a href="http://www.5idev.com/">5idev</a>其他字符
<a href="http://www.sohu.com/">sohu</a>
<a href="http://www.sohu.com/"><img src="http://www.fashion-press.net/img/news/3176/mot_06.jpg" /></a>
<br>';
//echo preg_replace("/(<a.*?>)(<img.*?>)(<\/a>)/", '$2', $str);
echo preg_replace("/(<a.*?>)(<img.*?>)(<\/a>)/", '\2', $str);
?>
表单验证匹配 验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 验证账号,不能为空,不能有空格,只能是英文字母:^\S+[a-z A-Z]$ 验证账号,不能有空格,不能非数字:^\d+$ 验证用户密码,以字母开头,长度在 6-18 之间:^[a-zA-Z]\w{5,17}$ 验证是否含有 ^%&',;=?$\ 等字符:[^%&',;=?$\x22]+ 匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配腾讯QQ号:[1-9][0-9]{4,} 匹配日期,只能是 2004-10-22 格式:^\d{4}\-\d{1,2}-\d{1,2}$ 匹配国内电话号码:^\d{3}-\d{8}|\d{4}-\d{7,8}$ 评注:匹配形式如 010-12345678 或 0571-12345678 或 0831-1234567 匹配中国邮政编码:^[1-9]\d{5}(?!\d)$ 匹配身份证:\d{14}(\d{4}|(\d{3}[xX])|\d{1}) 评注:中国的身份证为 15 位或 18 位 不能为空且二十字节以上:^[\s|\S]{20,}$ 字符匹配 匹配由 26 个英文字母组成的字符串:^[A-Za-z]+$ 匹配由 26 个大写英文字母组成的字符串:^[A-Z]+$ 匹配由 26 个小写英文字母组成的字符串:^[a-z]+$ 匹配由数字和 26 个英文字母组成的字符串:^[A-Za-z0-9]+$ 匹配由数字、26个英文字母或者下划线组成的字符串:^\w+$ 匹配空行:\n[\s| ]*\r 匹配任何内容:[\s\S]* 匹配中文字符:[\x80-\xff]+ 或者 [\xa1-\xff]+ 只能输入汉字:^[\x80-\xff],{0,}$ 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配数字 只能输入数字:^[0-9]*$ 只能输入n位的数字:^\d{n}$ 只能输入至少n位数字:^\d{n,}$ 只能输入m-n位的数字:^\d{m,n}$ 匹配正整数:^[1-9]\d*$ 匹配负整数:^-[1-9]\d*$ 匹配整数:^-?[1-9]\d*$ 匹配非负整数(正整数 + 0):^[1-9]\d*|0$ 匹配非正整数(负整数 + 0):^-[1-9]\d*|0$ 匹配正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 匹配负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 匹配浮点数:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 匹配非负浮点数(正浮点数 + 0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 匹配非正浮点数(负浮点数 + 0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 其他 匹配HTML标记的正则表达式(无法匹配嵌套标签):<(\S*?)[^>]*>.*?</\1>|<.*? /> 匹配网址 URL :[a-zA-z]+://[^\s]* 匹配 IP 地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?) 匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.? 提示 1.上述正则表达式通常都加了 ^ 与 $ 来限定字符的起始和结束,如果需要匹配的内容包括在字符串当中,可能需要考虑去掉 ^ 和 $ 限定符。 2.以上正则表达式仅供参考,使用时请检验后再使用 |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|