|
|
|
Supreme Being
      
участник
Last Login: 28.12.2007 15:30
Сообщ.: 245,
Visits: 2 102
|
|
| Какая разница между (["выражение"]+) и ["выражение"]+?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.12.2007 15:30
Сообщ.: 245,
Visits: 2 102
|
|
текст1 "неизвесный текст" числа "неизвесный текст" текст2 Как вытащить только числа?Пробовал так ([ \w]+)([\d]+)([ \w]+)/i s не выходит Посоветуйте!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 11.08.2008 17:37
Сообщ.: 2 836,
Visits: 30 979
|
|
| в скобках найденое соответствие запоминается, а без неет, в этом отличие $exp = "xx 23 xxyy 45 yxz"; $exp = preg_match_all("/\d+/",$exp , $arr); echo $arr[0][0]."-".$arr[0][1];
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.12.2007 15:30
Сообщ.: 245,
Visits: 2 102
|
|
| Извеняюсь, немного неправильно задал вопрос, текст к которому надо применить регулярное следующий текст_0 "неизвесный текст" числа_0 "неизвесный текст" текст_001 текст1 "неизвесный текст" числа_1 "неизвесный текст" текст2 текст3 "неизвесный текст" числа_2 "неизвесный текст" текст4 Извлечь надо числа_1 Делал так /текст1[ \w]+([\d+])[ \w]+текст2/i s U Но почемуто не идет!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.12.2007 15:30
Сообщ.: 245,
Visits: 2 102
|
|
| Вот по ходу роботы появилось еще несколько вопросов Как в регулярных позначить выражение пусто или символы (пробовал [^$|\w+])? Как обозначить только буквы от а до Z (без учета регистра)?(пробовал [{a-Z}+])
|
|
|
|
|
Supreme Being
      
участник
Last Login: 11.08.2008 17:37
Сообщ.: 2 836,
Visits: 30 979
|
|
| приведи конкретный текст и скажи что из него должно получаться, мы поможем
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.12.2007 15:30
Сообщ.: 245,
Visits: 2 102
|
|
<UL><B>Процессор</B> <UL> <LI>Intel XScale : <FONT class=descr>PXA250</FONT> <LI>Тактовая частота : <FONT class=descr>400 Mhz</FONT> вот текст как есть с пробелами и переходом на новую строчку (enter) Достать надо Intel XScale PXA250 и отдельно PXA250
|
|
|
|
|
Supreme Being
      
участник
Last Login: 11.08.2008 17:37
Сообщ.: 2 836,
Visits: 30 979
|
|
попробуй эти два примера, может передалешь как тебе нужно/*первый пример*/ $arr=array(); $tx="<UL><B>Процессор</B> <UL> <LI>Intel XScale : <FONT class=descr>PXA250</FONT> <LI>Тактовая частота : <FONT class=descr>400 Mhz</FONT> "; $tx=strip_tags($tx); $e=explode("",$tx); for($i=0;$i<count($e);$i++){ $t=explode(":",$e[$i]); if(trim($t[0])&&trim($t[1])){ $arr[count($arr)]=array($t[0],$t[1]); echo $t[0]."|".$t[1]."<br>"; } } /*второй пример*/ $arr=array(); $tx="<UL><B>Процессор</B> <UL> <LI>Intel XScale : <FONT class=descr>PXA250</FONT> <LI>Тактовая частота : <FONT class=descr>400 Mhz</FONT> ";$sh="/\>(.*?)\</m"; preg_match_all($sh,$tx , $arr); for($i=0;$i<count($arr[0]);$i++){ $arr[0][$i]=str_replace(">","",$arr[0][$i]); $arr[0][$i]=str_replace("<","",$arr[0][$i]); $arr[0][$i]=str_replace(":","",$arr[0][$i]); $arr[0][$i]=trim($arr[0][$i]); echo $arr[0][$i]."<br>"; }
|
|
|
|
|
|
| | |