2013-09-03 3 views
-2

У меня есть строка, как это: Мой код:Получить определенную часть из строки

$html = new DOMDocument(); 


    $html->loadHTML($message); 
    $items = $html->getElementsByTagName('div'); 
    foreach($items as $item) { 
     $headline = array(); 

     if($item->childNodes->length) { 
      foreach($item->childNodes as $i) { 
       $headline[$i->nodeName] = $i->nodeValue; 
      } 
     } 

     $headlines[] = $headline; 
    } 
    foreach ($headlines as $key => $value) { 
    $quote = $value['blockquote']; 
    }. 
print_r($quote); 

output ="this is your message. 
     Your Ticket ID = :68 
     Response ID = :45check that if its not contains any error." 

Я хочу, чтобы получить Ticket ID =:68 и Response id =:45.

, когда я печатаю blockquote, я получаю текст выше. Теперь я хочу получить идентификатор идентификатора и идентификатор ответа, но не знаю, как это сделать?

+5

взглянут на регулярные выражения, которые должны помочь вам ... – kratenko

ответ

0

Вы могли бы добиться этого с помощью регулярных выражений

$var ="this is your message. 
    Your Ticket ID = :68 
    Response ID = :45check that if its not contains any error."; 

$match = array();  
$ticketID = ''; 
$responseID = ''; 

preg_match('/Your Ticket ID = :([0-9]+)/', $var, $match); 
if(count($match) > 0) { 
    $ticketID = $match[0]; 
} 
preg_match('/Response ID = :([0-9]+)/', $var, $match); 
if(count($match) > 0) { 
    $responseID = $match[0]; 
} 

var_dump($ticketID, $responseID); 

Выходы:

string 'Your Ticket ID = :68' (length=20) 
string 'Response ID = :45' (length=17) 
+0

вау ваш код работает great.thanks.i я смущен о соответствующей части. –

+0

Вы просто передаете регулярное выражение, и все, что соответствует ему, равно * $ match *. – Krasimir

+0

Хм, вы правы. Проблема со мной, я никогда не использовал функцию соответствия preg. –

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