-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Dutchman Mihel |
08-07-2004 16:33 213159 |
Есть вот такой код:
Код:
$string="><A name=9><FONT
color=#dddddd><B>9. Ghettoblaster</B></FONT>
<FONT color=#dddddd><B>10. The Oath Of The Goat</B></FONT><BR><BR>I have";
preg_match_all("/(?<=#dddddd><B>\d\.\s).+?(?=<\/B>)/m", $string, $matches);
print_r($matches);
Мне нужно чтобы из $string выдернулось:
Ghettoblaster и
The Oath Of The Goat
но выдергивается только
Ghettoblaster
Какбы переделать регуляр чтобы это поправить?
|
Vlad Drakula |
08-07-2004 18:20 213160 |
Dutchman Mihel
$matches - это же массив, а не строка!
|
Dutchman Mihel |
09-07-2004 11:27 213161 |
Vlad Drakula
конечно массив
и что из того
print_r($matches); выдает только одно значение
|
vadimiron |
09-07-2004 23:06 213162 |
Dutchman Mihel
Цитата:
preg_match_all("/(?<=#dddddd><B>\d\.\s).+?(?=<\/B>)/m", $string, $matches);
|
\d-это число из 0-9, а у тебя там стоит 10, а 10 не входит в \d, поэтому надо вместо \d написать \d{2}, чтобы находились и 0, и 1
Добавлено:
Vlad Drakula
print_r может также весь массив выводить
|
vadimiron
спасибо, не заметил
Получилось вот так:
/(?<=#d{6}><B>\d\.\s|#d{6}><B>\d{2}\.\s).+?(?=<\/B>)/m
|
Время: 11:50.
© OSzone.net 2001-