PHP düzenli ifadeler ile yardıma ihtiyacı

0 Cevap php

Ben kütüğü bir dizi bazı içerik çalışıyorum. Aynı biçimi paylaşıyoruz html ait.

<a href="meh">[18] blah blah blah < a...: Yani böyle çizgiler bir sürü olsun

Ve fikir numarayı (18) ve yanındaki metni (blah. ..) elde etmektir. Ayrıca, ben her eleme çizgi "> ile başlar ve ya <a veya </p ile sona erecek biliyoruz. Sorun (vb <i>, <u>,) metnin bir parçası olarak diğer tüm htmHTML etiketleri tutmak için ihtiyaçtan kaynaklanıyor.

Öyleyse ben böyle bir şey var:

$docString = file_get_contents("http://whatever.com/some.htm");
$regex="/\">\ [(.*?)\ ] (<\/a>)(.) *?(<)/";
preg_match_all($regex,$docString,$match);

Adlı bir saniye için $regex bakalım. , Bu alanlarda var görmezden başka bazı karakterler yok çünkü ben sadece buraya koymak. Ben ile başlayacak belirtmek ">. Sonra [] şeyin içinde numara yapmak. Sonra </a> tek tek. Şimdiye kadar iyi.

Sonunda, ben bir (.)*?(<) yapmak. Bu dönüm noktasıdır. Bir çizgi ya da italik etiketi bulunduğunda geçen biraz bırakarak, (<) gibi, metin kesilir. Ancak, ben koyarsanız (<a|</p) edilen dizisi boş biter. Ben sadece (<a) bu değişen denedim, ama öyle görünüyor ki 2 karakter pisliği bütün ting.

Ben ne yapabilirim? Ben bütün gün bu mücadele ettik.

0 Cevap