Получить часть строки php (preg_match)

218
25 июля 2017, 19:39

Есть html-разметка, которая идет в виде строки в php, в ней есть следующая строка:

 <input type="hidden" name="csrf" value="1500924179:J+qsBWRoHUzoTYrHRfO3Sj6ZS2w=" />

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
        <input type="hidden" name="csrf" value="1500924179:J+qsBWRoHUzoTYrHRfO3Sj6ZS2w=" />
<input type="hidden" name="asdasd" value="asdvzx:J+asd=" />
<input type="text" name="hello" value=xczxc"z=" />
</body>
</html>

Необходимо получить все, что лежит в value, от " до ", опираясь именно на name="csrf", ибо input'ов в html будет много. Как это можно сделать?

Answer 1
$str = '<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
        <input type="hidden" name="csrf" value="1500924179:J+qsBWRoHUzoTYrHRfO3Sj6ZS2w=" />
</body>
</html>';
// <input type="hidden" name="csrf" value="1500924179:J+qsBWRoHUzoTYrHRfO3Sj6ZS2w=" />
preg_match('~name="csrf" value="([^"]+)"~i', $str , $a);
echo '<pre>'; var_dump($a[1]); echo '</pre>';
// 1500924179:J+qsBWRoHUzoTYrHRfO3Sj6ZS2w="
READ ALSO
Составление рег. выражения php

Составление рег. выражения php

Есть HTML разметка:

197
mysql запрос средней сложности

mysql запрос средней сложности

есть таблица comments и answers и news

233
Не работает preg_match

Не работает preg_match

Есть строка - string(1600)

160