gpt4 book ai didi

php - preg_match html代码

转载 作者:搜寻专家 更新时间:2023-10-31 20:41:15 30 4
gpt4 key购买 nike

我使用 cURL 向服务器发送请求这是链接:Server Side script for cURL request我用 file_get_contents('php://input'); 读取发送的数据但是我的 xml 周围有一些讨厌的数据。所以我想使用 preg_match 只选择 xml。像这样:

$arq = file_get_contents('php://input');
$wanted="/\<request\>(.*?)\<\/request\>/i";
preg_match($wanted, $arq, $result);
echo $result;

这是 $arq 的内容:

------------------------------9e2a86ef9445
Content-Disposition: form-data; name="data"

<request>
<session>
<user>exampleuser</user>
<pass>examplepass</pass>
</session>
</request>
------------------------------9e2a86ef9445--

我怎样才能阅读之间的所有内容因为其中的内容不是静态的,而是动态的,并且在不同的请求中可能会有所不同。

非常感谢。

最佳答案

您可以使用这个最初由 Gumbo 编写的正则表达式由我修改以满足您的需求。

<?php
$html='------------------------------9e2a86ef9445
Content-Disposition: form-data; name="data"

<request>
<session>
<user>exampleuser</user>
<pass>examplepass</pass>
</session>
</request>
------------------------------9e2a86ef9445--';
$tagname = 'request';

$pattern = '/<'.preg_quote($tagname, '/').'(?:[^"\'>]*|"[^"]*"|\'[^\']*\')*>(.*?)<\/'.preg_quote($tagname, '/').'>/s';
preg_match_all($pattern, $html, $matches);

echo $thefilteredXML = $matches[0][0];

OUTPUT(就像在浏览器的 View 源中一样):

<request>
<session>
<user>exampleuser</user>
<pass>examplepass</pass>
</session>
</request>

关于php - preg_match html代码 <request></request>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098010/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com