Парсинг идущих друг за другом тегов?
Понадобилось сделать объединение идущих друг ха другом тегов img в один блок, который с помощью javascript превратится в галерею. Добавить один img в блок несложно — preg_replace тут сработает. А вот как выделить в отдельный блок несколько подряд идущих тегов?
Допустим, есть такой код:
<font color="black"><font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image1.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image2.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image3.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">p</font><font color="#0000ff">></font>eewrwerr<font color="#0000ff"></</font><font color="#800000">p</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">div</font><font color="#0000ff">></font>qweqweqwe<font color="#0000ff"></</font><font color="#800000">div</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image4.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">p</font><font color="#0000ff">></font>eewrwerr<font color="#0000ff"></</font><font color="#800000">p</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image5.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image6.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
image4.jpg как раз в данном случае и не нужен, т.к. за ним не идёт другой тег img. А нужно получить 2 списка тегов img: с изображениями image1.jpg, image2.jpg, image3.jpg и image5.jpg, image6.jpg
Не могу придумать регулярное выражение для распарсивания такого кода. Если кто встречался с такой задачей, поделитесь, пожалуйста, алгоритмом.
<font color="black"><font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image1.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image2.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image3.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">p</font><font color="#0000ff">></font>eewrwerr<font color="#0000ff"></</font><font color="#800000">p</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">div</font><font color="#0000ff">></font>qweqweqwe<font color="#0000ff"></</font><font color="#800000">div</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image4.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">p</font><font color="#0000ff">></font>eewrwerr<font color="#0000ff"></</font><font color="#800000">p</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image5.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image6.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
Использует ли System.Xml MSXML?
Я разрабатываю приложение C#, которое использует несколько файлов XML и некоторые классы в System.Xml. Коллега настаивает на добавлении распространяемого пакета MSXML6 в нашу установку вместе с платформой .NET, но я не думаю, что платформа .NET использует или нуждается в MSXML в любом случае. Я хорошо знаю, что использование MSXML из .NET не поддерживается, но я предполагаю, что теоретически возможно для самого System.Xml обернуть MSXML на низком уровне. Я не нашел ничего определенного, что .NET имеет свою собственную реализацию, но и не могу найти ничего, что указывало бы на необходимость MSXML.
Помоги мне уладить этот спор. Использует ли System.Xml MSXML?
Ресурсы Жизненного Цикла Разработки Программного Обеспечения
В настоящее время я студент колледжа, и я не чувствую, что какой-либо из моих классов коснулся жизненного цикла разработки программного обеспечения (SDLC) почти достаточно.
Я стажировался в компании в течение нескольких лет, и я узнал о SDLC из стажировки, но я хотел опросить толпу, чтобы я мог выйти из этого.
Какие SLDC ресурсы (книги, сайты, журналы, информационные бюллетени и др.) вы пользуетесь?
GUI Automation testing - вопросы обработки окон
Наша компания в настоящее время пишет инструмент автоматизации тестирования GUI для компактных рамочных приложений. Мы изначально искали много инструментов, но ни один из них не был подходящим для нас.
С помощью этого инструмента вы можете записывать тестовые случаи и группировать их вместе в наборы тестов. Для каждого тестового набора генерируется приложение, которое запускает application-under-test и имитирует ввод данных пользователем.
В целом инструмент работает нормально, но поскольку мы используем дескрипторы окон для моделирования пользовательского ввода, вы не можете сделать очень много вещей. Например, мы не можем получить имя элемента управления (мы просто получаем заголовок).
Еще одна проблема, связанная с использованием дескрипторов окон, - это проверка наличия изменений. В данный момент мы имитируем щелчок по элементу управления и в зависимости от результата узнаем, перешло ли приложение на следующий шаг.
Есть ли другой (более простой) способ делать такие вещи (например, очередь сообщений или что-то еще)?
Microsoft Visual Studio Express
Можно ли по лицензии использовать Microsoft Visual Studio Express для написания коммерческого ПО (и как физ. лицо, и как юр. лицо)?
nginx, время отклика
После установки nginx как фронтенда к Apache график времени отклика стал вот таким (по мониторингу webopulsar):

До установки всё было ровно.
ОС — Ubuntu server 10.04, сайт на Yii (PHP) + APC включен. Загружено не более 50% оперативки, CPU не более 20%. VPS.
nginx.conf, proxy.conf
Подключение к Интернету по умолчанию на двойной рабочей станции LAN
Я знаю, что это не Программирование напрямую, но это касается рабочей станции разработки, которую я настраиваю.
У меня есть машина Windows Server 2003, которая должна быть на двух сегментах LAN одновременно. Один из них-это 10.17.x.x LAN, а другой-10.16.x.x
Проблема в том, что я не хочу использовать пропускную способность в сети 10.16.x.x для интернет-трафика и т. д. (Эта сеть в основном предназначена только для внутренних вещей, хотя у нее есть доступ в интернет), поэтому я хотел бы, чтобы система использовала соединение 10.17.x.x для всего, что является внешним для LAN (и для всего, что находится на 10.17.x.x, конечно, и использовать только соединение 10.16.x.x для вещей, которые находятся на этом конкретном LAN.
Я попытался заглянуть в команду windows "route", но это довольно запутанно и, похоже, не позволит мне удалить маршруты, которые, как я считаю, мешают тому, что я хочу сделать. Есть ли лучший способ сделать это? Любое хорошее программное обеспечение для сегментации вашего доступа LAN?
Посоветуйте ДЦ в Латвии, Эстонии или Финляндии
Коллеги, посоветуйте, пожалуйста, ДЦ с хорошей коннективностью в Латвии, Эстонии или Финляндии. Где цены на колокейшн пониже, а качество обслуживания повыше?
Спасибо.
SQL запрос для сравнения продаж продукта по месяцам
У меня есть ежемесячное представление базы данных состояния, на основе которого мне нужно построить отчет. Данные в представлении выглядят примерно так:
Category | Revenue | Yearh | Month
Bikes 10 000 2008 1
Bikes 12 000 2008 2
Bikes 12 000 2008 3
Bikes 15 000 2008 1
Bikes 11 000 2007 2
Bikes 11 500 2007 3
Bikes 15 400 2007 4
...
И так далее
Вид имеет категорию продукта, доход, год и месяц. Я хочу создать отчет, сравнивающий 2007 и 2008 годы, показывающий 0 за месяцы без продаж. Поэтому отчет должен выглядеть примерно так:
Category | Month | Rev. This Year | Rev. Last Year
Bikes 1 10 000 0
Bikes 2 12 000 11 000
Bikes 3 12 000 11 500
Bikes 4 0 15 400
Главное, что нужно заметить, - это то, что месяц 1 имеет продажи только в 2008 году, и поэтому равен 0 для 2007 года. Кроме того, месяц 4 только не имеет продаж в 2008 году, следовательно, 0, в то время как он имеет продажи в 2007 году и все еще показывают вверх.
Кроме того, отчет фактически относится к финансовому году - поэтому я хотел бы иметь пустые столбцы с 0 в обоих случаях, если бы не было продаж, скажем, в месяце 5 за 2007 или 2008 год.
Запрос, который я получил, выглядит примерно так:
SELECT
SP1.Program,
SP1.Year,
SP1.Month,
SP1.TotalRevenue,
IsNull(SP2.TotalRevenue, 0) AS LastYearTotalRevenue
FROM PVMonthlyStatusReport AS SP1
LEFT OUTER JOIN PVMonthlyStatusReport AS SP2 ON
SP1.Program = SP2.Program AND
SP2.Year = SP1.Year - 1 AND
SP1.Month = SP2.Month
WHERE
SP1.Program = 'Bikes' AND
SP1.Category = @Category AND
(SP1.Year >= @FinancialYear AND SP1.Year <= @FinancialYear + 1) AND
((SP1.Year = @FinancialYear AND SP1.Month > 6) OR
(SP1.Year = @FinancialYear + 1 AND SP1.Month <= 6))
ORDER BY SP1.Year, SP1.Month
Проблема с этим запросом заключается в том, что он не вернет четвертую строку в моем примере данных выше, так как у нас не было никаких продаж в 2008 году, но мы фактически сделали это в 2007 году.
Это, вероятно, обычный query/problem,, но мой SQL заржавел после того, как так долго занимался разработкой переднего плана. Любая помощь очень ценится!
Кстати, я использую SQL 2005 для этого запроса, так что если есть какие-то полезные новые функции, которые могут помочь мне, дайте мне знать.
Где тусуются дизайнеры/юзабилисты GUI?
Серверное ПО, сейчас настраивается через mmc. Соответственно, вопрос о дизайнах и красотах при разработке юзерского интерфейса практически не стоял («в силу особых свойств» mmc).
Но эти «особые свойства» уже стали реальным тормозом развития продукта, и было принято решение переписать интерфейс на C#.Net.
У нас есть сильное подозрение, что после такого переписывания интерфейс будет скорее всего не очень удобным и не очень красивым — хочется прибегнуть к услугам правильных специалистов.
Где обитают такие люди?
- «
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- »