|
|
|
| Есть вот такая регулярка
{"id":([0-9]+),"name":"([a-zA-Z\s]+)"
ищет в данном тексте
{"count":53,"num":100,"q":"make","start":0,"data":[{"id":25,"name":"Acura","url":"http://buyersguide.caranddriver.com/acura","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/25.png"},{"id":52,"name":"Alfa Romeo","url":"http://buyersguide.caranddriver.com/alfa-romeo","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/52.png"},{"id":26,"name":"Aston Martin","url":"http://buyersguide.caranddriver.com/aston-martin","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/26.png"},{"id":27,"name":"Audi","url":"http://buyersguide.caranddriver.com/audi","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/27.png"},
В конструкторе выбивает правильно, но почему то в программе мне не хочет находить. Где моя ошибка? подскажите пожалуйста?!
и дальше еще подобного кода раз 50 | |
|
|
|
|
|
|
|
для: SerBoroda
(11.09.2011 в 21:10)
| | я тут поклацал, походу тут проблемма какаято с с айтом мож..а то не хочет даже просто обычный символ выводить
сайт следующий
http://buyersguide.caranddriver.com/api/feed/?mode=json&q=make | |
|
|
|
|
|
|
|
для: SerBoroda
(11.09.2011 в 21:41)
| | /\"id\":\d+?,\"name\":\"[\w(\s*)]+\"/s | |
|
|
|
|
|
|
|
для: Deed
(13.09.2011 в 20:33)
| | [\w(\s*)]+ - ой-ёй-ёй. почитай про квадратные скобки.
http://www.regexpr.ru/?pattern=%2F[\w%28\s*%29]%2B%2F&subject=svsdv+%28%28*++*%29%29
Всего совпадений 1
1 : svsdv ((* *))
|
хотя может так и задумано( | |
|
|
|
|
 60.2 Кб |
|
|
для: f111
(14.09.2011 в 02:00)
| | Тихо, тихо. Я в курсе особенностей квадратных скобок. Но работает ведь.
А если не включить (\s*) в [\w(\s*)]+, тогда не найдем Альфа Ромео.
<?php
$text=<<< DEED
{"count":53,"num":100,"q":"make","start":0,"data":[{"id":25,"name":"Acura","url":"http://buyersguide.caranddriver.com/acura","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/25.png"},{"id":52,"name":"Alfa Romeo","url":"http://buyersguide.caranddriver.com/alfa-romeo","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/52.png"},{"id":26,"name":"Aston Martin","url":"http://buyersguide.caranddriver.com/aston-martin","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/26.png"},{"id":27,"name":"Audi","url":"http://buyersguide.caranddriver.com/audi","make_icon":"http://buyersguide.caranddriver.com/media/icons/make/27.png"},
DEED;
$count=preg_match_all("/\"id\":\d+?,\"name\":\"[\w(\s*)]+\"/s",$text,$outs);
echo "count of matches is ".$count."<br>";
echo "<pre>";
print_r($outs);
echo "</pre>";
/* In the result:
count of matches is 4
Array
(
[0] => Array
(
[0] => "id":25,"name":"Acura"
[1] => "id":52,"name":"Alfa Romeo"
[2] => "id":26,"name":"Aston Martin"
[3] => "id":27,"name":"Audi"
)
)
*/
?>
|
Хотя, это не существенно. Здесь можно было написать и так:
/\"id\":\d+?,\"name\":\".+?\"/s | |
|
|
|
|
|
|
|
для: Deed
(14.09.2011 в 08:06)
| | >Но работает ведь.
я и не спорю, особенно подойдёт для такого примера
"id":52,"name":"Alfa(****()()()()()****(0) Romeo"
>Здесь можно было написать и так:
>/\"id\":\d+?,\"name\":\".+?\"/s
или твой первый вариант, но без "круглых скобок и звёздочки"
/\"id\":\d+?,\"name\":\"[\w\s]+\"/s
>Я в курсе особенностей квадратных скобок
тогда перечитай)) так как подшаблон в квадратных скобках будет набором символов, в данном случае:
[0-9A-Za-z_()* и пробел] | |
|
|
|
|
|
|
|
для: f111
(14.09.2011 в 14:15)
| | Да знаю я, Aardvark )))
И от имени любителей - спасибо тебе! | |
|
|
|
|
|
|
|
для: Deed
(14.09.2011 в 15:22)
| | а я не знаю "Aardvark".
>И от имени любителей - спасибо тебе!
получается и от моего имени мне-же спасибо)) | |
|
|
|
|
|
|
|
для: f111
(14.09.2011 в 15:30)
| | Ну как же?! «Aardvark» - дальний бомбардировщик F111
Одним словом, SerBoroda, итог раздумий и диспутов для данного конкретного случая:
/\"id\":\d+?,\"name\":\"[\w\s]+\"/s | |
|
|
|