Ben oldukça iyi çalışıyor regex yerini bu çapa var:
$p = '%<a.*\s+name="(.*)"\s*>(?:.*)</a>%im';
Bu <a
bir boşluk ve name="
takiben şey sıfır veya daha fazla takip maçları
Bu bir sınıf ya da bir kimliği çapa adına öncesinde bile isimlerini kapma.
Ne ben eklemek istiyorum yanı sıra er ya da geç birileri bu yapmış çünkü bir tek tırnak (') ile name='
üzerine maç yeteneğidir.
Açıkçası ben sadece bunun için yazılmış bir ikinci regex ekleyebilirsiniz ama inelegant görünüyor.
Herkes tek teklifi eklemek ve sadece bir regex nasıl kullanılacağını biliyor musun? Başka iyileştirmeler veya öneriler çok hoş olurdu. Ben olsun tüm regex yardım kullanabilirsiniz!
Çok okuma için teşekkürler,
function findAnchors($html) {
$names = array();
$p = '%<a.*\s+name="(.*)"\s*>(?:.*)</a>%im';
$t = preg_match_all($p, $html, $matches, PREG_SET_ORDER);
if ($matches) {
foreach ($matches as $m) {
$names[] = $m[1];
}
return $names;
}
}