Pogčedajte punu verziju : Regex: Match html tag-a sa klasom
Potrebna pomoć sa regular expression-om...
Hoću da selektujem kompletan tag, u ovom slučaju link tag (a), ali samo određene klase:
<a class="someclass" href="http://www.google.rs">Anchor text</a>
Dakle, potreban je kompletan match, ali samo klase "someclass".
Puno hvala! :1002:
srdjevic
04. 08. 2010., 09:23
Imas ludu srecu da upravo pisem liniju za projekat vrlo slicnu ovoj koja tebi treba...
Ova moja zamenjuje textarea tag u pre, radi za moj slucaj:
$str = preg_replace('/<textarea class="brush"([^>]*)>([^<]*)<\/textarea>/', '<pre class="brush"$1>$2</pre>', $str);
Ti ces verovatno morati da je menjas, ali sad bar imas od cega da pocnes. ;)
eraser
04. 08. 2010., 09:53
Probaj ovako nesto
preg_match_all("/<a class="someclass" href=[\"\']?([^>\s\"\']+)[>\s\"\']/iUs", $lines, $matches);
ivanhoe
04. 08. 2010., 16:26
mozes ovako, da ne razmisljas o redosledu atributa, i da li se koristi " ili ' oko imena klase:
$class = 'foo';
preg_match("|<a [^>]*class=(['\"])$class\\1[^>]*>.+?</a>|is", $txt, $match);
ili sa preg_match_all() ako ima vise linkova...
Hvala puno, momci!
U međuvremenu sam uspeo da se snađem, mada će mi ovi regex dobro doći, pre ili kasnije...
Neku put su rešenja trivijalna i čovek sam sebe ukopa...
Imam sam sreću da su svi linkovi konzistentno "klasirani" tako da mi je i "jeftinija" varijanta završila posao:
<a class="someclass".*<\/a>
Thx!
eclipse
13. 02. 2011., 20:11
da ne otvaram novu temu, a pitanje je prejednostavno samo ne mogu nigdje naći odgovor.
šta znači znak # u ovakvom nizu: preg_replace('#[_ ]#'), '-', $string);
dinke
13. 02. 2011., 20:15
To je delimiter, po defaultu ljudi koriste slash (/) ali mozes koristiti i druge karaktere poput # u tvom primeru. Dakle isto bi bilo i :
preg_replace('/[_ ]/'), '-', $string);
eclipse
13. 02. 2011., 20:19
ok, hvala na instant odgovoru
webarto
13. 02. 2011., 20:21
Isto što i...
preg_replace('/[_ ]/', '-', $string);
Delimiter.
Da bi mogao dodati flags poslije toga recimo
preg_replace('#[_ ]#is'...
Mislim da imaš zagradu viška :)
edit: dinke je brži :)
vBulletin® v3.6.8, Copyright ©2000-2024, Jelsoft Enterprises Ltd.