получить строку строки из набора текста, содержащего конкретные слова с php - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть некоторый код, сгенерированный FCKEditor, например.следующим образом:

$content = "<p>some text with some tags and so on.. [here is html tag image source with image url] another some text with some tags and so on.. </p>";

Я назначил весь этот код в переменную с именем $content.

Я хочу "извлечь" и выполнить grep только URL-адрес источника изображения из $content и поместитьрезультат в переменную $img_url, так что я могу повторить $img_url

Любые идеи, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2011
$content = '<p style="text-align: center; "><img width="300" height="225" style="padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; margin-right: 5px; " border="2" align="left" alt="" src="/datafitur/news_img/1/201109/Steve-Jobs.jpg" /><b><span style="font-size:14.0pt;mso-bidi-font-size:.....</p>'

$explodeContent = explode('src=', $content);
$explodeSrc  = strstr($explodeContent[1], '/>', true);
$explodeSrc = trim($explodeSrc,'"');
$explodeSrc = trim($explodeSrc,' ');

Edit:

Я изменил использование strstr вместо взрыва на втором шаге.

0 голосов
/ 22 сентября 2011

Если у вас есть только один тег изображения, вы можете напрямую использовать этот

function get_string_between($string, $start, $end){
   $string = " ".$string;
     $ini = strpos($string,$start);
     if ($ini == 0) return "";
     $ini += strlen($start);    
     $len = strpos($string,$end,$ini) - $ini;
     return substr($string,$ini,$len);
}

echo $img_url = get_string_between($content,'<img src="','</img>');

Если у вас есть несколько, тогда вы должны взорвать $ content и использовать функцию по своему усмотрению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...