2015-03-14 3 views
2

К сожалению, я провел как 2 часа, пытаясь preg_match этой формыpreg_match имени поля ввода внутри формы

<form class="form-search" method="post" action="/index.php"> 
    <div class="form-group"> 
    <input id="address_box" type="text" class="form-control" name="x" value="" onfocus="this.select()" /> 
    </div> 
<span class="btn btn-s btn-caps"><input type="submit" value="start" /></span> 
</form> 

To:

Preg_match: 

START = <form 

WHERE action CONTAIN /index.php 
EX: action="/index.php" or action="http://whatever.com/index.php" 

FIND name="[A-Za-z]{1}" 

END = </form> 

Then Output the [A-Za-z]{1} Match (Should get x) 

Как я могу сделать это правильно, пожалуйста?

Спасибо.

+0

Каких ошибок вы получаете? Вы можете дать более подробную информацию? – mjuarez

+0

@mjuarez Я пробовал много регулярных выражений, но ничего не получилось, как я хочу. – user2203703

+0

Что вы на самом деле пытаетесь найти? [a-zA-Z] {1} соответствует не менее 1 или более символов. – starkeen

ответ

0

Хорошо, это регулярное выражение должны сделать работу:

$regex = '/<form.*(?<=action=\")?\/index.php\">.*(?<=name=\")([A-Za-z]{1})(?=\").*?<\/form>/s'; 
0
$pat = /\/index.php\">.*?form-control\".*(?<=name=\")([A-Za-z]{1})(?=\")/s 

$sub = '<form class="form-search" method="post" action="/index.php"> 
    <div class="form-group"> 
    <input id="address_box" type="text" class="form-control" name="x" value="" onfocus="this.select()" /> 
    </div> 
<span class="btn btn-s btn-caps"><input type="submit" value="start" /></span> 
</form>'; 

preg_match($pat,$sub,$match); 


to echo mateched use echo $match[1]; 
Смежные вопросы