检查字符串是否包含数字为PHP的特定字符

时间:2016-07-01 09:26:37

标签: php string numbers character

我在从PHP的网址列表中获取特定文本时遇到问题。 这是网址的一个例子

$arrString = array(
"http://example.expl/text-t350/", 
"http://example.expl/text-t500-another-text/"
"http://example.expl/text-t20/text-example/"
);

我只需要'带号码的字符: T350 T500 T20

我尝试了以下内容:

foreach ($arrString as $key => $value) {
 if (strpos($value, "t".filter_var($value, FILTER_SANITIZE_NUMBER_INT)) !== true ) {
     echo "Url with t price ".$value."<br>";
 }

}

但没有奏效;(
希望你能帮助我...

非常感谢!

1 个答案:

答案 0 :(得分:2)

您需要使用正则表达式,请参阅下面的示例:

$arrString = array(
    "http://example.expl/text-t350/", 
    "http://example.expl/text-t500-another-text/",
    "http://example.expl/text-t20/text-example/"
);

foreach ($arrString as $key => $value) {
    if(preg_match('/text-(t\d+)/', $value, $matches)) {
        echo $matches[1] . "<br>";
    }
}

说明:

text-字面匹配 (捕获小组开始 t字面匹配 \d匹配数字
+ 1个或更多 )捕获小组结束