PHP:在
我有以下字符串:PHP:在,php,string,special-characters,Php,String,Special Characters,我有以下字符串: $string = '"http://i.stack.imgur.com/?oapQok.png" blabla "http://i.stack.imgur.com/p9*xp.png" blabla "http://i.stack.imgur.com/papsyewxp.jpg"' 我现在想得到以下信息: array(3) { [0] => string("?oapQok.png") [1] => string("p9*xp.png") [2] =&
$string = '"http://i.stack.imgur.com/?oapQok.png" blabla "http://i.stack.imgur.com/p9*xp.png" blabla "http://i.stack.imgur.com/papsyewxp.jpg"'
我现在想得到以下信息:
array(3) {
[0] => string("?oapQok.png")
[1] => string("p9*xp.png")
[2] => string("papsyewxp.jpg")
}
问题:长度不同,是否有“奇怪”-->*$?里面的字符等等
你能解释一下如何修复它吗?试试:
另请参阅上的php文档,以获取捕获。尝试:
$string = '"http://i.stack.imgur.com/?oapQok.png" blabla "http://i.stack.imgur.com/p9*xp.png" blabla "http://i.stack.imgur.com/papsyewxp.jpg"';
$matches = array();
preg_match_all('/"http:\/\/i.imgur.com\/([^"]+)"/', $string, $matches);
var_dump($matches[1]);
另请参阅上的php文档以提取捕获。是否所有URL都是双引号?是否所有URL都是双引号?这将有一些假阳性匹配--它将匹配“”,即没有foo.png。@Paul:谢谢。更新为在斜杠后至少匹配一个字符。这将有一些假阳性匹配——它将匹配“”,即没有foo.png。@Paul:谢谢。已更新以匹配斜杠后的至少一个字符。
$string = '"http://i.stack.imgur.com/?oapQok.png" blabla "http://i.stack.imgur.com/p9*xp.png" blabla "http://i.stack.imgur.com/papsyewxp.jpg"';
$matches = array();
preg_match_all('/"http:\/\/i.imgur.com\/([^"]+)"/', $string, $matches);
var_dump($matches[1]);