2016-07-21 8 views
-4

Ich möchte eine Reihe von Variablen $ Link zu erstellen, alle Links in Reihe zu bekommen, so dass ich sie gleichzeitig außerhalb geschweiften Klammern verarbeiten kannWie erstelle ich ein Array eines String-Objekts in PHP?

include("simple_html_dom.php"); 


$html = file_get_html($url); 

$i=0; 
$linkObjs = $html->find('h3.r a'); 
foreach ($linkObjs as $linkObj) 
{ 
    $title = trim($linkObj->plaintext); 
    $link = trim($linkObj->href); 

    //if it is not a direct link but url reference found inside it, then extract 
    if (!preg_match('/^https?/', $link) && preg_match('/q=(.+)&sa=/U', $link, $matches) && preg_match('/^https?/', $matches[1])) 
    { 
     $link = $matches[1]; 
    } else if (!preg_match('/^https?/', $link)) { // skip if it is not a valid link 
     continue; 
    } 

    $descr = $html->find('span.st',$i); // description is not a child element of H3 thereforce we use a counter and recheck. 
    $i++; 
} 
+0

Stoppen Sie die Abstimmung, wenn Sie die Antwort nicht kennen. – Azhar

+3

Sie haben nicht erklärt, was das Problem ist oder was passiert (oder nicht) - das ist wahrscheinlich, warum Ihre Frage wurde – RamRaider

+2

@Azhar Stop vorausgesetzt, dass Menschen eine Frage ablehnen, weil sie die Antwort nicht kennen –

Antwort

1

Erstellen Sie ein Array und Streichhölzer drücken.

+0

Danke .. es hat funktioniert :) – Azhar

0

Deklarieren Sie einfach eine Arrayvariable und fügen Sie sie hinzu, um sie später zu verwenden.

Vor Loop,

$myLinks = []; 

Und Kurz nach dieser Zeile

$link = $matches[1]; 
$myLinks[] = $link; 

Jetzt können Sie den Array $ myLinks, Hoffnung verwenden war es das, was man braucht.

+0

Danke :) @Robin – Azhar

+0

du bist willkommen :) –