我在从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>";
}
}
但没有奏效;(
希望你能帮助我...
非常感谢!
答案 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个或更多
)
捕获小组结束