2

$content として設定されたデータの文字列があります。このデータの例は次のとおりです。

This is some sample data which is going to contain an image in the format <img src="http://www.randomdomain.com/randomfolder/randomimagename.jpg">.  It will also contain lots of other text and maybe another image or two.

<img src="http://www.randomdomain.com/randomfolder/randomimagename.jpg">$extracted_image などの別の文字列だけを取得して保存しようとしています

私はこれまでのところ....

if( preg_match_all( '/<img[^>]+src\s*=\s*["\']?([^"\' ]+)[^>]*>/', $content, $extracted_image ) ) {
$new_content .= 'NEW CONTENT IS '.$extracted_image.'';

戻ってくるのは...

NEW CONTENT IS Array

私の試みはおそらく完全に間違っていると思いますが、どこが間違っているのか誰か教えてもらえますか?

4

3 に答える 3

1

Your first problem is that http://php.net/manual/en/function.preg-match-all.php places an array into $matches, so you should be outputting the individual item(s) from the array. Try $extracted_image[0] to start.

于 2012-09-16T21:41:50.560 に答える
1

You need to use a different function, if you only want one result:

preg_match() returns the first and only the first match. preg_match_all() returns an array with all the matches.

于 2012-09-16T21:42:44.747 に答える