php善用正则表达式 处理字符串中需不要的值
今天在采集莫网址的图片的时候,由于自己最后都会讲图片分辨率改为320*480,而原先的图片中存在有关于像素的信息。
如:清晰小屋(320*480)壁纸
那么最后我要留下的是“清晰小屋壁纸”,该怎么办呢?
首先我们应该立马想到,先查找字符串,在去掉此字符串。
嗯,首先我也是这么想的,定义一个数组,其中存了几个字符串,如(320*480)、(480*640)等,不过后来发现,其中还有其他类型的如(320*234)之流的,那么我全列出来也不是不可能的,只不过是时间的问题。但是我们不这么做,是在太没意思了。这样弄得话,估计半天就过去了,而且弄得自己很不爽。
那么该这么办呢?
首先观察多个数据,我们发现,其中有应该要有“*”,这个必须得知道的,否则没有要去的值也弄进来,加大计算机的工作量了。
那么就来了一个:
[php]
if(strchr($title, "*"))
{
用来判断字符串中是否包含"*";
如果包含了,那么里面一定有我们要去掉的东西,接下来该怎么办,找出要去掉的字符串,然后用NULL替换?显然不能在像上面的方式找了。
而我用了字符串切割的方式:
[php]
$arr=split('([\(]*)[0-9]+\*[0-9]+([\)]*)',$title);//*一定要进行转义
$title = $arr[0].$arr[1];
其中([\(]*)[0-9]+X[0-9]+([\)]*)为正则表达式,
([\(]*)表示可能存在(
[0-9]+表示至少存在一个0到9的数字
[php]
\*存在"*"
那么上面的 (320*480) 很简单的找出来了。
一下是测试程序
[php]
<?php <br /> <br> $title="清晰小屋(320*480)壁纸"; <br> <br> if(strchr($title, "*")) <br> { <br> $arr=split('([\(]*)[0-9]+\*[0-9]+([\)]*)',$title);//*一定要进行转义 <br> $title = $arr[0].$arr[1]; <br> echo $title; <br> } <br> ?> <br> 作者:wolinxuebin

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数
