Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z preg_match_all?
Forum PHP.pl > Forum > PHP
e11
Mam kłopot z funkcją preg_match_all, napisałem takie oto wyrażenie regularne do wyłuskiwania znaczników (w tym wypadku znacznika a):

Kod
$patern="/<a(([s]+(([^>^"]*)|("[^"]*"))*>)|([>]{1}))/"


Działa to z reguły dobrze, ale w wypadku gdy znacznik jest źle napisany, a konkretnie, jeden z cudzysłowów jest niezamknięty (np. <a ">), funkcja preg_match_all w Windows działa tak jakby się zapętliła :?: :!: .

Coś nie tak z php, czy ze mną?
kurtz
Cytat
Mam kłopot z funkcją preg_match_all, napisałem takie oto wyrażenie regularne do wyłuskiwania znaczników (w tym wypadku znacznika a):
bez urazy ale czy nie mozna po prostu napisac $patern="/<a(.?*)>)/" ?

nie rozumiem celu tak glebokiego ()
e11
Pewnie można, tylko co to coś zrobi z takim dobrym znacznikiem:
Kod
<a zzz=">" href="bla.htm">

Zależy mi na czymś dokładnym, bo ma to służyć do przerabiania kodu możliwe, że pisanego przez laików, a generalnie wysyłanego z zewnątrz, stąd te kłopoty.
Ale nie tylko o to chodzi, to preg_match_all, w podanym przeze mnie przypadku, się poprostu wykrzacza. Nie ma informacji, że string pasuje albo nie do wzorca, to wisi i kwita, i w tym rzecz, na ile można ufać tej funkcji?
kurtz
Cytat
Pewnie można, tylko co to coś zrobi z takim dobrym znacznikiem:
Kod
<a zzz=">" href="bla.htm">

nie jestem pewny ale chyba > nie jest dozwolone w atrybutach. zawartosc "" musi byc url encoded (chiba).

co do problemu to przyznam ze wolalbym napisac od nowa tego prega niz doszukiwac sie bledu. za duzo zachodu :|
e11
W każdym razie dzięki kurtz, choć dorzucę, że znak ">" w środku znacznika to nie jest niemożliwe ani bezurzyteczne, ani nawet takie znowu głupie

Kod
<a href="javascript: if(a>b) location='bla.html'">


a tak na marginesie to jakie hasła ze słownika polecasz, bo przyznaję, że wysyłam tego posta nie zastosowawszy się do rady, by przejżeć zalecane dzieło.
kurtz
Cytat
a tak na marginesie to jakie hasła ze słownika polecasz, bo przyznaję, że wysyłam tego posta nie zastosowawszy się do rady, by przejżeć zalecane dzieło.

durzo bezurzyteczne złorzonym przejżałem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.