2012-04-09 2 views
-1

У меня есть эта строка:Как фильтровать строку

"small: 
http://img.exent.com/free/frg/products/666550/player_boxshot.jpg 
boxshot: 
http://img.exent.com/free/frg/products/666550/boxshot.jpg" 

Я хочу, чтобы получить только первую ссылку на изображение (после слова «маленький») и игнорировать все остальное (слово «BoxShot» и тому ссылку после него).

Как это сделать?

+1

и в чем проблема, с которой вы столкнулись? – mishu

+0

Добро пожаловать в StackOverflow. Вы можете форматировать исходный код с помощью кнопки панели инструментов {{} '. На этот раз я сделал это для вас. –

+0

Возможный дубликат [Получить URL-адрес из строки] (http://stackoverflow.com/questions/1146198/get-a-url-from-a-string) – JJJ

ответ

0

Самого простой способ:

<?php 
    $str='small: http://img.exent.com/free/frg/products/666550/player_boxshot.jpg boxshot: http://img.exent.com/free/frg/products/666550/boxshot.jpg'; 
    $parts=explode('boxshot:',$str); 
    $small=$parts[0]; 
    echo($small); 
?> 
1

использовать его и как мои ан. string ваша выше целая вереница

substr(string,0,stripos(string,"boxshot")-1); 
+0

Вот как бы я это сделал, кроме как не начинать с 0, предполагая, что 'small:' не меняется, вы хотите начать с 6. –

+0

Прекратите говорить ** Как и мой ответ .. Как и мой ответ .. * * Это не Facebook. –

1
$string = "small: 
http://img.exent.com/free/frg/products/666550/player_boxshot.jpg 
boxshot: 
http://img.exent.com/free/frg/products/666550/boxshot.jpg"; 

preg_match_all('~http(.*?)jpg~i',trim($string),$matches); 
var_dump($matches[0][0]); 
0

Попробуйте это:

$string = "small: 
http://img.exent.com/free/frg/products/666550/player_boxshot.jpg 
boxshot: 
http://img.exent.com/free/frg/products/666550/boxshot.jpg"; 

// replace all 2 or more consecutive spaces with 1 space 
$string = preg_replace('/\s\s+/i', ' ', $string); 
$array = explode(' ', $string); 
echo $array[1]; 

Надеется, что это помогает.

Смежные вопросы