PHP - regex használata?
Van egy kódom most:
$regexp = "<script\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>(.*)";
A kód erre jó:
<script src="az src paraméterben lévő szöveget elmentem">
Erre szeretném még használni:
@import url('az url-t szeretném elmenteni');
Amivel próbálkoztam:
$regexp = "@import url\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>(.*)";
Hogyan lehetne átalakítani az első regexp változó értékét úgy hogy megfeleljen az elvártnak? Magyarul szeretném összegyűjteni egy css fájlban az összes import url-t és mindegyiket egy tömb külön elemébe menteni. Ez megy html-ben script src-vel. Át kellene alakítani a regexp változót hogy az importra érvényes legyen. Letudná valaki írni nekem hogyan alakítaná át hogy működjön?
Sajnos így probléma merül fel. A kódom:
if($__ == "css3") { $regexp = "@import url\('(.*?)'\);"; }
if(preg_match_all("/$regexp/siU", $input, $matches)) {
if($_ == 1) { return $matches[2]; } // $matches[2] = array of link addresses
if($_ == 2) { return $matches[3]; } // $matches[3] = array of link text - including HTML code
return array("");
}
A hiba: Notice: Undefined offset: 2.
Ezzel próbáltam meg még:
if($__ == "css3") { $regexp = "@import url\('(\"??)([^\" >]*?)\\1[^>]*'\);"; }
Az új kóddal az eredmény:
css/html5-reset.css'); @import......
Ezzel próbálkoztam még:
if(preg_match_all("/@import url\('(.*?)'\);/", $input, $matches)) {
if($_ == 1) { return $matches[2]; } // $matches[2] = array of link addresses
if($_ == 2) { return $matches[3]; } // $matches[3] = array of link text - including HTML code
return array("");
}
Ugyan az a hiba. Mit tudok vele kezdeni?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!