[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения
sla990
Привет.

Есть строка типа: <input type="text" name="email" />
Нужен результат в виде:
Array[0] = "text";
Array[1] = "email";

Как реализовать с помощью регулярных выражений?
Пробовал так, но не получается "/\sname|type\=[^\s].*\s/"

Спасибо



Спустя 2 минуты, 20 секунд (5.02.2009 - 15:41) Sylex написал(а):
спам скрипт пишешь? wink.gif

Спустя 47 секунд (5.02.2009 - 15:42) sla990 написал(а):
Нет, пытаюсь понять регулярки

Спустя 27 минут, 41 секунда (5.02.2009 - 16:10) FatCat написал(а):
PHP
$txt = '<input type="text" name="email" />';
$Array[0] = preg_replace( '#(<input type=")(.+?)(" name=")(.+?)( />)#is', "\\2", $txt );
$Array[1] = preg_replace( '#(<input type=")(.+?)(" name=")(.+?)( />)#is', "\\4", $txt );

Спустя 1 час, 35 минут, 31 секунда (5.02.2009 - 17:45) Alchemist написал(а):
FatCat, слабак smile.gif Учись студент !
PHP
$html = '<input type="text" name="email" />';
$Array = array();

if (preg_match("/type=(>?[\"']?)([^\\W]+)\\1\\040name=(>?[\"']?)([\\w]+)\\3/isU",$html,$match)) {
    for($i=0; $i<count($match); $i++){
        if ($i && !($i%2))
            $Array[$i/2-1] = $match[$i];
}

ph34r.gif

Спустя 1 час, 51 минута, 19 секунд (5.02.2009 - 19:37) twin написал(а):
Вообще я из принципа не отвечаю на вопросы, связанные с добычей email'ов, но вот после этого:
Цитата
FatCat, слабак  Учись студент !
не могу промолчать.
Во первых, задача решена не полностью.
Во вторых, совсем не оптимально
В третьих, я не буду решать её до конца, мало ли, но начало должно выглядеть как то так:
PHP
<?php
$html 
'<input type="text" name="email" />';

preg_match("/<input\s+type=[\"']{1}(.+?)[\"']{1}[\S\s]+?name=[\"']{1}(.*?)[\"']{1}[^>]*?>/i",$html,$match); 
unset(
$match[0]);
print_r($match);
Потому что могут встретиться стили. Вот так к примеру
PHP
<?
$html '<input type="text" style="color:red" name="email" />';

Спустя 34 минуты, 31 секунда (5.02.2009 - 20:11) Alchemist написал(а):
twin... ээээ... ты это серьезно ?

Спустя 4 дня, 11 часов, 7 минут, 13 секунд (10.02.2009 - 07:18) modobaks написал(а):
А с чего вы решили, что type обязательно будет первым?
План должен быть таким:
1 – найти тег input
2 – найти все параметры тега ( type, name, class и т.д. )
3 – если необходимо убрать лишни параметры.

Спустя 1 час, 3 минуты, 29 секунд (10.02.2009 - 08:22) kirik написал(а):
modobaks, с такими успехами тогда нужно учитывать, что в слове type может быть ошибка в одну букву wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.