BG Development


Страници: (3) 1 2 [3]   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Променлива в регулярен израз
Антон Яначков
Публикувано на: 27-11-2019, 10:58
Quote Post



Име: Антон Яначков
Група: Потребител
Ранг: Почетен член

Мнения: 1339
Регистриран на: 27.07.16



QUOTE (Zeardn @ 27-11-2019, 09:35)
Не успявам да си обясня къде е логиката в това, дори и внимателно да правя анализ на случващото се (тъй като в PHP няма дебъгер както в другите езици - или поне стандартно няма).

Ти явно не правиш никакъв анализ, а работиш на сляпо, очаквайки нещо да се случи, а то става друго. Като няма дебъгер, не ти ли хрумна, че можеш да сложиш един оператор echo и да виждаш с очите си как се променя една или друга променлива?

Още при първото завъртане на цикъла при i=0, регулярния израз е сменил p= със &p= и при всяко следващо i, вече няма съвпадение на шаблона. За това по-горе те попитах - дали за останалите стойности на i, кодът се изпълнява правилно. Възможностите бяха само две - или променливата i се бъгва или шаблона не открива съвпадения, за да ги замести. Оказва се, че е било второто.

Това мнение е било редактирано от Антон Яначков на 27-11-2019, 10:59
PMEmail PosterUsers Website
Top
relax4o
Публикувано на: 27-11-2019, 21:49
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2485
Регистриран на: 04.04.07



QUOTE (Zeardn @ 27-11-2019, 09:35)
(тъй като в PHP няма дебъгер както в другите езици - или поне стандартно няма).

То пък е много трудно да настройш xdebug.


Колкото до това какво се случва. Същата променлива си я декларирал и във втория цикъл, а след това променяш и в третия(най-вътрешния) цикъл.

През всичките презаписванки на променливата с тези регулярни изрази, само ти можеш да кажеш какво се случва.

Да не говорим, че можеш да вземеш много по-добри решения как да имплементираш това, което правиш. Има сума библиотеки, които ще ти обработят HTML и можеш да си вземеш всичко чрез селектори, вместо да препускаш през 9 планини, докато парснеш някакви линкове.

https://simplehtmldom.sourceforge.io/ - най-простото. Symfony също имат библиотека за такива неща. Ходи се мъчи с 15 цикъла, та да се чудиш после от къде ти идва.


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (3) 1 2 [3]  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0