Regex PHP soru

2 Cevap php

Yalan söylemeyeceğim, ben regex kötüyüm.

Nasıl bu adamlar yapmak mümkün olacaktır:

$string = '>Data 1-23</a>';
$string = '>Datkl3</a>';
$string = '>RA Ndom</a>';

Ve regex kullanarak yukarıdaki dize içindeki "Veri 1-23" çekin? Ben bu birden olanlar varsa, nasıl ben bir diziye eşleşen tüm dizeleri koymak mümkün olacaktır?

2 Cevap

<?php
  $string = ">Data 1-23</a>";
  $pattern = '/>([^<]*)</a>/';
  preg_match($pattern, $subject, $matches);
  print_r($matches);
?>

Siz anladığım kadarıyla, ne istediğini vermelidir.

Eğer köprüler metin arıyorsanız en iyi bahistir SimpleHTMLDom. Burada hızlı bir örnek:

$html = file_get_html('http://www.amazon.com/');
foreach($html->find('a') as $element)
  echo $element->innertext . '<hr/>';

DOM ağacını ayrıştırma basit işleçleri çok daha güvenilir sonuçlar verir

Umarım ki olur!