PHP: $str = "INSERT INTO blog SET main = text dddd RRR !@#$%^&\+*()<>"; preg_match("/INSERT INTO ([^\s]+) SET ([^\s]+) = (.+)*/", $str, $out); на выходе получаю PHP: array(4) { [0]=> string(56) "INSERT INTO blog SET main = text dddd RRR !@#$%^&\+*()<>" [1]=> string(4) "blog" [2]=> string(4) "main" [3]=> string(28) "text dddd RRR !@#$%^&\+*()<>" } как мне не сохранять нулевой элемент массива, тоесть не вгонять весь стринг $str? а оставить только 1,2,3 элементы
я нехочу добовлять лишний элемент в массив. а имменно [0]=> string(56) "INSERT INTO blog SET main = text dddd RRR !@#$%^&\+*()<>"
Sergey89 не помогло и еще одна проблема (.+)* вытаскивает только одну строку с новой строки нечего не берет
вообщем савсем запутался, есть такой текст HTML: INSERT INTO blog SET main = <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="266" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"> other html code </td> </tr> надо вытащить слово после INTO (в данном случае blog) слово после SET (в данном случае main) и весб хтмл после main = (хтм все время меняетса) помогите пожалусто
Sergey89 приходит все кроме хтмл PHP: array(4) { [0]=> string(28) "INSERT INTO blog SET main = " [1]=> string(4) "blog" [2]=> string(4) "main" [3]=> string(0) "" } проверял переменную $str вней есть хтмл
PHP: preg_match('~INSERT\s+INTO\s+(\S+)\s+SET\s+(\S+)\s*=\s*(.*)~si', $str, $match); array_shift($match); print_r($match); Код (Text): Array ( [0] => blog [1] => main [2] => <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="266" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"> other html code </td> </tr> )