【问题标题】:php: Show X strings after X string in any string?php:在任何字符串中的 X 字符串之后显示 X 字符串?
【发布时间】:2013-06-27 22:02:58
【问题描述】:
例如,我有 1000 个这种格式的链接:
www.example.com/files/[项目编号]/[something]/[something]
我想从这些链接中提取项目编号:
www.example.com/files/4234/blabla/bla
www.example.com/files/7653/blabla/bla
www.example.com/files/1024/blabla/bla
我想说:在字符串“整个 URL”中打印字符串“files/”后面的前 4 个字符/数字。
谢谢!
【问题讨论】:
标签:
php
string
substring
explode
【解决方案1】:
使用 PHP 的explode()..
$linkArray 是一个包含所有链接作为字符串的数组。
foreach($linkArray as $link){
$array = explode('/',$link);
echo $array[2];
}
【解决方案2】:
PHP 的 preg_match() 应该可以解决问题。
preg_match("/[0-9]+/", $input_line, $output_array);
将所有链接存储在一个数组中,遍历该数组并使用上面的内容过滤项目编号。
preg_match() 保证只返回第一个匹配项,并将忽略前 4 位之后的任何匹配项。
在这里测试:
http://www.phpliveregex.com/p/zj