Autor | Zpráva | ||
---|---|---|---|
capricorn Profil |
#1 · Zasláno: 9. 6. 2009, 19:48:10
Zdravim,
mam tento regularni vyraz a retezec a ja potrebuji, aby kdyz souhlasi url adresa, tak aby se zapsala do pole a pokud neni v tagu <a> uvedeno nebo je prazdne title, target, tak aby se ulozila do pole prazdna hodnota. Snad jsem to napsal rozumitelne. $data = ' <a href="http://www.example.com" title="title1">Test1</a> <a href="http://www.example.com" title="title2">Test2</a> <a href="http://www.example.com" title="">Test3</a> <a href="http://www.example.com">Test4</a> <a href="http://www.example.com" target="_blank">Test5</a> '; preg_match_all('~<a href=\"http://www.example.com\" title=\"(.*)\" target=\"(.*)\">(.*)</a>~', $data, $match); print_r($match); |
||
bohyn Profil |
#2 · Zasláno: 9. 6. 2009, 21:09:17 · Upravil/a: bohyn
~<a\s+href="http://www\.example\.com"(?:\s+title="([^"]*)")?(?:\s+target="([^"]*)")?\s*>(.*?)</a>~i |
||
capricorn Profil |
#3 · Zasláno: 9. 6. 2009, 21:40:40
bohyn
Dekuji. Bez vysvetleni to, ale nepochopim. ;-) Mohl by mne prosim vysvetlit, co znamena: \s+ :\s+ \s* Predem dekuji. |
||
bohyn Profil |
#4 · Zasláno: 9. 6. 2009, 22:19:37
capricorn
\s+ = jeden nebo vice bilych znaku \s* = zadny nebo vice bilych znaku (?:) = zavorka ktera se nikam neuklada (non-matching) |
||
AM_ Profil |
#5 · Zasláno: 9. 6. 2009, 22:20:14
\s znamená bílé znaky. + a * jsou kvantifikátory, + znamená "alespoň jeden", * znamená "libovolný počet" (tedy i žádný)
|
||
capricorn Profil |
#6 · Zasláno: 9. 6. 2009, 22:51:44
bohyn AM_
Je to veda, ale ted to plne chapu, alespon tento vyraz. Dekuji za pomoc. |
||
Časová prodleva: 15 let
|
0