1. 云栖社区>
  2. PHP教程>
  3. 正文

php善用正则表达式 处理字符串中需不要的值

作者:用户 来源:互联网 时间:2017-12-01 20:48:34

分辨率字符串图片表达式

php善用正则表达式 处理字符串中需不要的值 - 摘要: 本文讲的是php善用正则表达式 处理字符串中需不要的值,   今天在采集莫网址的图片的时候,由于自己最后都会讲图片分辨率改为320*480,而原先的图片中存在有关于像素的信息。      如:清晰小屋(320*480)壁纸      那么最后我要留下的是“清晰小屋壁纸”,该怎么办呢。     首

  今天在采集莫网址的图片的时候,由于自己最后都会讲图片分辨率改为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] 
<pre name="code" class="php"><?php 
  
$title="清晰小屋(320*480)壁纸"; 
 
if(strchr($title, "*")) 
      { 
        $arr=split('([/(]*)[0-9]+/*[0-9]+([/)]*)',$title);//*一定要进行转义 
        $title = $arr[0].$arr[1]; 
                echo $title; 
      } 
?> 


作者:wolinxuebin

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索分辨率 , 字符串 , 图片 , 的 表达式 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备