Само снимките от стринг

sentenello

Registered
Извинявам се предварително че отварям нова тема, но дадох точка в предната а в последствие видях че не мога да се справя с проблема който ми излезе.

с този код
Код:
	$dom = new domDocument;

/*** load the html into the object ***/
$dom->loadHTML($content);

/*** discard white space ***/
$dom->preserveWhiteSpace = false;

$images = $dom->getElementsByTagName('img');

foreach($images as $img)
    {
    	$url = $img->getAttribute('src');		
    	print_r ("$url");
    }

Вадя двата линка, но не мога да се сетя как да ги изкарам в различни променливи ?
 
Просто ги постави в масив:
PHP:
$content = '
<h4>zaglavie</h4>
<img src="snimka1">
<img src="snimka2">
tekst tekst tekst ....';

$dom = new domDocument;

/*** load the html into the object ***/
$dom->loadHTML($content);

/*** discard white space ***/
$dom->preserveWhiteSpace = false;

$images = $dom->getElementsByTagName('img');
echo '<pre>';
foreach($images as $img){
       $url[] = $img->getAttribute('src');        
}
       print_r($url);
 
Като го направя така и ми излиза

на първия ред взема първите снимки като array=>[0] и 1, на втория цикъл взема от първия контент снимките като 0 и 1 и вече от вторния контент снимките стават като 2 и 3 и така надоло.

Пример:

Резултат 1:
Array ( [0] => http://saita.com/wp-content/uploads/2012/06/pt.png
[1] => http://saita.com/wp-content/uploads/2015/03/rs.png )

Резултат 2:
Array ( [0] => http://saita.com/wp-content/uploads/2012/06/pt.png
[1] => http://saita.com/wp-content/uploads/2015/03/rs.png
[2] => http://saita.com/wp-content/uploads/2012/06/hr.png
[3] => http://saita.com/wp-content/uploads/2015/03/Norway.png )
 
sentenello каза:
Като го направя така и ми излиза

на първия ред взема първите снимки като array=>[0] и 1, на втория цикъл взема от първия контент снимките като 0 и 1 и вече от вторния контент снимките стават като 2 и 3 и така надоло.

Пример:

Резултат 1:
Array ( [0] => http://saita.com/wp-content/uploads/2012/06/pt.png
[1] => http://saita.com/wp-content/uploads/2015/03/rs.png )

Резултат 2:
Array ( [0] => http://saita.com/wp-content/uploads/2012/06/pt.png
[1] => http://saita.com/wp-content/uploads/2015/03/rs.png
[2] => http://saita.com/wp-content/uploads/2012/06/hr.png
[3] => http://saita.com/wp-content/uploads/2015/03/Norway.png )
Забележи, че при моят код print_r($url); е извън цикъла. При теб така ли е ?
PHP:
foreach($images as $img){

       $url[] = $img->getAttribute('src');        

}

       print_r($url);
 
Извън цикъла е..
Код:
$content = ''.$row['post_content'].'';

	$dom = new domDocument;

/*** load the html into the object ***/
$dom->loadHTML($content);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
foreach($images as $img)
    {
    	$url[] = $img->getAttribute('src');	
	}
print_r ($url);

но е в друг цикъл който ми вади заглавията

П.С. при заглавяита няма проблем, всички си излизат както трябва.
 
Над foreach просто занулявай $url тоест така:
$url = isset($url) ? unset($url) : array();

Код:
$content = ''.$row['post_content'].'';

	$dom = new domDocument;

/*** load the html into the object ***/
$dom->loadHTML($content);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
$url = isset($url) ? unset($url) : array();
foreach($images as $img)
    {
    	$url[] = $img->getAttribute('src');	
	}
print_r ($url);
 
дава ми грешка

Parse error: syntax error, unexpected 'unset' (T_UNSET)

Само да кажа че първия вариант
Код:
$dom = new domDocument;

/*** load the html into the object ***/
$dom->loadHTML($content);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
foreach($images as $img)
    {
    	$url[] = $img->getAttribute('src');	
		print_r ($url);
	}

като премахна квадратните скоби на $url и ми ги вади точно, но тогава незнам как да изкарам двете стойности в различни променливи
 
Така?
Код:
$dom = new domDocument;

/*** load the html into the object ***/
$dom->loadHTML($content);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
$url = null;
foreach($images as $img)
    {
    	$url[] = $img->getAttribute('src');	
	}
echo $url[0].' - '.$url[1];
 

Back
Горе